내용을 검색하고 찾은 파일의 이름을 바꾸는 데 문제가있는 폴더에 여러 개의 텍스트 파일이 있습니다. 일괄 처리를 실행하면 찾은 모든 파일의 이름을 동일한 파일 이름으로 바꿉니다. 따라서 문자열이 포함 된 3 개의 파일을 찾으면 모든 파일의 이름을 동일한 파일로 바꿉니다. 아직도이 물건에 새로운. 내가 TEST1을 모든 텍스트 파일의 내부 문자열 "TEST1"을 발견하고있는 test1.txt 할 수있는 파일의 이름을 변경하려합니다 (2)가 .txt 등배치 파일의 이름을 바꿉니다.
@ECHO OFF
@SETLOCAL enableextensions disabledelayedexpansion
SET "sourcedir=C:\test"
SET "searchfor=test1"
FOR /f "delims=" %%a IN ('findstr /m /L /c:"%searchfor%" "%sourcedir%\*.txt"') DO (
REN "%%a" "%searchfor%.txt"
)
_probably'/ SET 사용하면 카운터를 추가해야 할거야 A'_을 REN'aming'전 (혼동을 피하기 위해 "히트"적은 수의 사본에 테스트를 수행) 'IF \ ELSE' 식을'EXIST'와 함께 사용하십시오. – Compo
귀하의 질문에 대한 답변이 아니지만 test1이 포함 된 단어는 피하기 위해'('findstr/m/L/c : "\ <% searchfor % \>" "% sourcedir % \ *. txt"') test1뿐만 아니라 –
@UlugToprak, **'/ L' **을 정할 때 **'\ <'** 및 **'\>'**는 리터럴 문자로 간주되어야하며 의도 한 문자열과 일치하지 않아야합니다 . – Compo