Wie kann ich mehrere Ordner und Unterdateien mit einem Batch-Skript umbenennen?

Wie kann ich mehrere Ordner und Unterdateien mit einem Batch-Skript umbenennen?

Ich erstelle ein Bereinigungstool, das bestimmte Verzeichnisse und Dateien löscht und umbenennt. Ich kannindividuellVerzeichnisse und Dateien umbenennen und löschen, aber ich kann nicht mehr als einen Ordner umbenennen und ich kann keine Dateien in Unterverzeichnissen umbenennen. Hier ist mein Skript:

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

Wie Sie sehen, möchte ich die 32-Bit-Ausführbare Datei im x86-Verzeichnis in umbenennen bin_x86.exe, dann den darin enthaltenen Ordner von x86in umbenennen 32bitund dann dasselbe Äquivalent für die 64-Bit-Binärdatei und das Verzeichnis. Derzeit kann mein Skript den ersten definierten Ordner erfolgreich umbenennen.(aber nicht, es ist binär), und nicht der zweite Ordner oder die zweite Binärdatei.

Antwort1

Der Befehl RENAME kann nicht innerhalb von Unterverzeichnissen funktionieren. Die einfache Lösung besteht daher darin, cdvor dem Umbenennen der Dateien in das Batch-Skript in die Verzeichnisse zu wechseln.

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

verwandte Informationen