![Как переименовать несколько папок и подфайлов с помощью пакетного скрипта?](https://rvso.com/image/1555400/%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B8%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D0%BF%D0%B0%D0%BF%D0%BE%D0%BA%20%D0%B8%20%D0%BF%D0%BE%D0%B4%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0%3F.png)
Я создаю инструмент очистки, который удалит и переименует некоторые указанные каталоги и файлы. Я могуиндивидуальнопереименовывать и удалять каталоги и файлы, но я не могу переименовывать больше одной папки, и я не могу переименовывать файлы внутри подкаталогов. Вот мой скрипт:
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
Как вы видите, я хочу переименовать 32-битный исполняемый файл в каталоге x86 в bin_x86.exe
, затем переименовать содержащую его папку из x86
в 32bit
, а затем сделать то же самое для 64-битного исполняемого файла и каталога. В настоящее время мой скрипт может успешно переименовать первую определенную папку(но это не двоичный код), а не вторая папка или двоичный файл.
решение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"