2013-08-11 5 views
0

"NOTES"가 아닌 "NOTES"라는 단어가 포함 된 디렉토리의 이름을 "NOTES"로 변경하고 싶습니다. 먼저 echo 명령을 사용하여 실험합니다. 디렉토리 이름이 그들을 다른 공간을 가지고 있기 때문에"NOTE"에서 "NOTES"로 디렉토리의 이름을 바꿉니다.

for /f "tokens=1-7" %%i in ('dir d:\mydirectory /s /b /ad ^|find "NOTE" ^|find "NOTES" /v') do @echo %%i %%j %%k %%l %%m %%n %%oS 

, 위의 명령은 "주"와 S. 어쨌든이 문제를 극복하기 위해 사이에 공백을 떠날 수?

답변

0

벌레를 줘. 올바른 이름 바꾸기 명령이 표시되면 echopause을 제거하여 활성화하십시오. 그것은 테스트되지 않았습니다. !%자를 포함하는 경로로 인해 문제가 발생합니다.

@echo off 
setlocal enabledelayedexpansion 
for /d /r %%a in (*) do (
    set "f=%%~nxa" 
    if not "!f:NOTE=!"=="%%~nxa" (
     if "!f:NOTES=!"=="%%~nxa" (
      echo ren "%%a" "!f:NOTE=NOTES!" 
      pause 
     ) 
    ) 
) 
관련 문제