bat: 재귀적 이름 바꾸기 파일

bat: 재귀적 이름 바꾸기 파일

특정 파티션의 모든 *.doc 파일 이름을 *.txt로 재귀적으로 바꾸고 싶습니다. 나는 성공하지 않고 다음을 시도했습니다 ...

@echo off
echo +-------------------------------------------+
echo :         exec cmd in every subdir          :
echo +-------------------------------------------+

FOR /R ".\" %%F IN (.) DO (
    ren "*.doc" "*.txt"
)

@pause

내가 도대체 ​​뭘 잘못하고있는 겁니까?


업데이트: 이것은 나에게 효과적이었습니다 ... MS 파일 탐색기(Win7)에서 파일을 클릭하여 실행하고 있으며 .bat를 실행 파일로 설정했습니다. cmd 프롬프트에서 시도하지 않았습니다. 이로 인해 차이가 발생하는지 궁금합니다.

@echo off

FOR /R ".\" %%F IN (.) DO (
 ren "%%F\*.doc" "*.txt"
)
@pause

답변1

배치 파일에 몇 가지 작은 오류가 있습니다.

다음은 명령줄에서 작동하는 버전입니다.

FOR /R "." %F IN (.) DO ren "%F\*.doc" "*.txt"

그리고 .bat파일에서:

FOR /R "." %%F IN (.) DO ren "%%F\*.doc" "*.txt"

Windows 7 64비트에서 테스트됨:

여기에 이미지 설명을 입력하세요

관련 정보