부분 이름이 비슷한 파일 이름을 삭제하는 방법은 무엇입니까?

부분 이름이 비슷한 파일 이름을 삭제하는 방법은 무엇입니까?

타임스탬프가 지정된 파일 이름이 여러 개 있고(나노초 단위까지) 초당 하나의 파일만 유지하고 싶습니다. 예를 들어, 다음은 몇 가지 파일 이름입니다.

11-14-29-033.jpg

(즉, 파일이 11시 14분 29초 33나노초에 녹음되었음을 의미합니다.)

11-14-29-602.jpg
11-14-29-839.jpg
11-14-29-953.jpg
11-14-30-406.jpg
11-14-30-847.jpg
11-14-31-091.jpg
11-14-31-419.jpg
11-14-31-667.jpg
11-14-32-364.jpg
11-14-32-619.jpg
11-14-32-913.jpg
11-14-33-150.jpg
11-14-33-485.jpg
11-14-33-708.jpg
11-14-34-052.jpg
11-14-34-336.jpg
11-14-35-174.jpg
11-14-36-563.jpg
11-14-36-788.jpg
11-14-37-278.jpg
11-14-37-584.jpg
11-14-38-050.jpg
11-14-38-841.jpg
11-14-39-196.jpg
11-14-39-736.jpg
11-14-39-870.jpg
11-14-40-091.jpg
11-14-40-766.jpg
11-14-41-052.jpg
11-14-41-676.jpg

초당 파일 1개만 남기고 모두 제거하는 배치 파일(Windows)을 작성할 수 있는 방법이 있습니까?

답변1

이 작업을 수행해야 합니다.

@ECHO OFF
SETLOCAL EnableDelayedExpansion

SET "source=C:\adjust\path"

FOR /R "%source%" %%F IN ("??-??-??-???.jpg") DO (
    SET "file_name=%%~nF"
    SET "file_name=!file_name:~0,-4!"
    REN "%%F" "!file_name!%%~xF" >nul 2>&1
)

FOR /R "%source%" %%G IN ("??-??-??-???.jpg") DO (
    DEL "%%G"
)

ECHO Done^^!
PAUSE

이 루프는 파일 이름이 이미 존재하지 않는 한 마지막 4자를 제거하여 모든 파일의 이름을 from에서 to로 바꿉니다 FOR /R. 이 명령은 파일 이름을 바꾸지 않으며 나중에 삭제됩니다..jpgHH-MM-SS-MMMHH-MM-SSREN

관련 정보