배치 스크립트를 사용하여 여러 폴더와 하위 파일의 이름을 어떻게 바꿀 수 있습니까?

배치 스크립트를 사용하여 여러 폴더와 하위 파일의 이름을 어떻게 바꿀 수 있습니까?

지정된 일부 디렉터리와 파일을 삭제하고 이름을 바꾸는 정리 도구를 만들고 있습니다. 저 할 수 있어요개별적으로디렉터리와 파일의 이름을 바꾸고 삭제하지만 두 개 이상의 폴더 이름을 바꿀 수 없으며 하위 디렉터리 내의 파일 이름도 바꿀 수 없습니다. 내 스크립트는 다음과 같습니다.

if not exist Plugin mkdir Plugin
RENAME "xml" "XML"

RENAME "x64\bin.exe" "x64\bin_x64.exe"
RENAME "x64" "64bit"

RENAME "x86\bin.exe" "x86\bin_x86.exe"
RENAME "x86" "32bit"

rmdir Licenses /s /q
del bin_old.exe
del bin.exe.bak
del README.md
del license.txt
del components.xml
del InstallationLog.txt
del maintenancetool.dat
del maintenancetool.exe
del maintenancetool.ini
del maintenancetool.zip
del network.xml

보시다시피, x86 디렉터리 내의 32비트 실행 파일 이름을 로 바꾸고 , 포함된 폴더의 이름을 에서 로 bin_x86.exe바꾸고 , 64비트 바이너리와 디렉터리에 대해 동일한 이름을 지정하고 싶습니다. 현재 내 스크립트는 첫 번째 정의된 폴더의 이름을 성공적으로 바꿀 수 있습니다.x8632bit(그러나 바이너리는 아닙니다), 두 번째 폴더나 바이너리가 아닙니다.

답변1

RENAME 명령은 하위 디렉터리 내에서 작동할 수 없으므로 cd파일 이름을 바꾸기 전에 배치 스크립트 내의 디렉터리로 이동하는 것이 쉬운 해결책입니다.

cd x64
RENAME "bin.exe" "bin_x64.exe"
cd ..
RENAME "x64" "64bit"
cd x86
RENAME "bin.exe" "bin_x86.exe"
cd ..
RENAME "x86" "32bit"

관련 정보