Saya membuat alat pembersihan yang akan menghapus dan mengganti nama beberapa direktori dan file yang ditentukan. saya bisa secara individual ganti nama dan hapus direktori dan file, tetapi saya tidak bisa mengganti nama lebih dari satu folder, dan saya tidak bisa mengganti nama file dalam sub-direktori. Ini skrip saya:
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
Seperti yang Anda lihat, saya ingin mengganti nama 32bit yang dapat dieksekusi di dalam direktori x86 menjadi bin_x86.exe
, lalu untuk mengganti namanya dari folder tersebut x86
untuk 32bit
, dan kemudian setara dengan biner dan direktori 64bit. Saat ini skrip saya berhasil mengubah nama folder yang pertama kali ditentukan (tapi bukan biner) , dan bukan folder atau biner kedua.
batch-file
window
rename
Mr. Mendelli
sumber
sumber
Jawaban:
Perintah RENAME tidak dapat bekerja di dalam subdirektori, jadi solusi mudahnya adalah
cd
ke dalam direktori dalam skrip batch sebelum mengubah nama file.sumber