2013-10-14 2 views

답변

1
for /f "delims=" %%a in ('dir /b /a-d /s') do (
    set "fname=%%~nxa" 
    set "fpath=%%~dpa" 
    setlocal enabledelayedexpansion 
    set "nname=!fname:~15!" 
    ren "!fpath!!fname!" "!nname!" 
    endlocal 
) 

느낌표를 유지하는 안전한 방법입니다.

forfiles /s /c "cmd /c ren @file @fname" 

그것은 찾기 위해 나에게 시간이 조금 걸렸지 만 갑자기 나는 그것이 자신의 이름을 변경했기 때문에 배치 파일이 작동하지 않는 것을 깨달았다 : 당신이 윈도우 7을 사용하는 경우

+0

모나 형제 ... 아무것도 실행 파일 – Nilesh12

+1

그것은이하는 일 후에 일어난 없지만, 같은 폴더 트리에있는 경우 그 자체의 이름을 변경합니다. 이전의 이름 바꾸기 솔루션과 마찬가지로'pushd "c : \ myfolder \"(메인 폴더가있는 폴더)를 맨 위에 추가하고 다른 폴더에서 실행하십시오. – foxidrive

+0

대단히 감사합니다 ......... 매우 고마워요 – Nilesh12

-1

, 당신이 시도 할 수 있었다! .

이것이 문제가되는 경우 배치 파일 zzzzzzzzz.bat의 이름을 지정하면 이름 자체가 변경되지 않을 수 있습니다. 그것은 나를 위해 작동하지

+0

최상위 폴더에 그대로 이름이 바뀝니다. 접두어를 제거하지 않으며 폴더의 파일을 처리하지 않으며 폴더 이름도 바꿉니다. 그것 외에는 괜찮습니다. ;) – foxidrive

+0

폴더 이름 바꾸기에는 유용하지만 현재 디렉토리와 하위 디렉토리에있는 모든 파일의 접두어를 제거하는 데는 유용하지 않습니다. – Nilesh12

+0

이 사용자의 이전 게시물을 읽고 답하는 것은 나에게 도움이되었습니다.이 작업은에서 모든 파일에 접두사를 추가하는 것이 었습니다. 나무. 이제 그는 그 접두사를 제거하려고합니다. – foxidrive