Ich habe 100 PNG-Dateien in einem Ordner, beispielsweise test.png, example.png usw.
Ich möchte ihnen eins voranstellen, sodass sie in usw. New_
umbenannt werden New_test.png
.New_example.png
Wie kann ich das in der Shell machen?
Antwort1
Sie haben kein Betriebssystem angegeben. Diese Antwort setzt Windows voraus.
Mein erster Gedanke war ein einfacher Befehl wie
for %f in (*.png) do rename "%f" "New_%f"
Aber eine Datei mit dem Namen a.png
wurde zuerst umbenannt in New_a.png
und in der alphabetischen Reihenfolge nach unten verschoben :-( Die Schleife hat diese Datei umbenannt inzweiteZeit zu New_New_a.png.
Dies muss daher in zwei Schritten erfolgen:
dir /b *.png > png.txt
for /F %l in (png.txt) do rename "%l" "New_%l"
del png.txt
Die erste Zeile erstellt eine Textdatei, die die Namen aller PNG-Dateien im aktuellen Verzeichnis enthält. Die zweite Zeile analysiert jede Zeile der Datei und benennt die PNGs um.