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

771
Mr. Mendelli

Ich mache ein Bereinigungswerkzeug, das einige angegebene Verzeichnisse und Dateien löscht und umbenennt. Ich kann Verzeichnisse und Dateien einzeln 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 können, möchte ich die ausführbare 32-Bit-Datei im x86-Verzeichnis in bin_x86.exeumbenennen, dann umbenennen, dass sie den Ordner von x86bis enthält 32bit, und 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 den binären), nicht den zweiten Ordner oder das binäre.

1
Sie haben einige Tippfehler - "RANAME" paradroid vor 6 Jahren 1
Ups, danke, dass du das gesehen hast. Mein Skript enthält eigentlich keinen Tippfehler, daher hat es keine Auswirkungen auf die Ergebnisse ... Mr. Mendelli vor 6 Jahren 0

1 Antwort auf die Frage

1
paradroid

Der Befehl RENAME kann nicht in Unterverzeichnissen verwendet werden. Die einfachste Lösung wäre, cddie Verzeichnisse im Batch-Skript vor dem Umbenennen der Dateien zu verwenden.

cd x64 RENAME "bin.exe" "bin_x64.exe" cd .. RENAME "x64" "64bit" cd x86 RENAME "bin.exe" "bin_x86.exe" cd .. RENAME "x86" "32bit" 
Mehr Infos hier: https://ss64.com/nt/ren.html paradroid vor 6 Jahren 0