
파일을 디렉토리에 자동으로 복사하는 프로그램이 있는데, 중복된 파일을 생성하면 다음과 같이 이름이 지정됩니다.
file with duplicate.xxx
file with duplicate - 1.xxx
file with duplicate - 2.xxx
Windows 배치 파일을 사용하여 모든 중복 항목을 삭제하는 방법이 필요합니다.
다음과 같은 내용이 있습니다.
FOR %f IN (C:\files\*.*) DO del "%f - 1"
그러나 이는 다음과 같이 해결되므로 작동하지 않습니다.file with duplicate - 1.xxx - 1
답변1
이름이 로 끝나는 모든 파일을 삭제하려면 - ?
종료된 것입니다.
이 시도:
FOR %%f IN ("C:\files\* - ?.*") DO del "%%f"
배치 파일에서 실행하는 경우 백분율 기호를 두 배로 늘려야 합니다. 그리고 첫 번째 echo
대신 에 테스트하십시오 del
.
답변2
FOR
는 필요하지 않으며 del
와일드카드를 사용할 수 있습니다. 노력하다:
del "c:\files\* - 1.xxx"
디렉토리에서 접미사 " - 1.xxx"가 있는 모든 항목과 일치합니다.