Skript zur Umbenennung im Stapel

367
eyerah

Ich habe den ganzen Morgen versucht, ein einfaches Skript zum Umbenennen von Batch zu schreiben. Dies ist das erste Mal, dass ich so etwas versuche. Ich habe versucht For /R, den Befehl so zu verwenden, dass mein Befehl durch Unterordner rekursiert, aber er funktioniert nicht.

Mein Code sieht so aus: FOR /R %%a in (.) do REN "i.JPG" "inlet.JPG"

RENarbeitet im übergeordneten Verzeichnis, rekursiert jedoch nicht durch Unterverzeichnisse. Kann jemand sehen, was ich falsch mache?

Vielen Dank.

2
Sie müssen die Option `/ d` in` for` hinzufügen, wenn Sie Verzeichnisse abgleichen möchten. Sie müssen auch "" %% a \ i.JPG "" in der Quelldatei des Befehls "ren" verwenden. AFH vor 6 Jahren 0
Vielen Dank. Ich habe den Dateinamen korrigiert und das %% a hinzugefügt. Dies schien das Problem zu lösen. Was meinst du mit Verzeichnissen übereinstimmen? eyerah vor 6 Jahren 0
Standardmäßig passt `for` zu Dateien und nicht zu Verzeichnissen, es sei denn, Sie fügen` / d` hinzu: Weitere Informationen finden Sie unter `für /?`. AFH vor 6 Jahren 0
Weitere Untersuchungen zeigen, dass `.` ohne` / d` abgeglichen wird - ich verstehe nicht ganz warum. Was sich %% a \ i.JPG` erweitert, ist `SubDirName \. \ I.JPG`. Eine bessere Lösung ist FOR / R %% a in (i.JPG) do REN "%% a" "Einlass.JPG" `: Dies vermeidet Fehler in Unterverzeichnissen, in denen sich keine` i.JPG`-Datei befindet, insbesondere wenn Sie möchte die Batchdatei erneut ausführen. AFH vor 6 Jahren 0
@eyerah Können Sie angeben, was Sie mit der Batchdatei wirklich tun möchten? Gibt es nur eine oder mehrere Dateien mit gleichem Namen? Biswapriyo vor 6 Jahren 0
Ich habe immer mit 'FOR / F' verknüpft und dann die 'DIR / S'-Befehle gesetzt, um die' REN'-Befehle auszuführen, wenn dies rekursiv durchgeführt wird. Dies ist zwar eine persönliche Präferenz, denke ich, funktioniert aber immer sehr gut für mich. Pimp Juice IT vor 6 Jahren 0
Vielen Dank an alle für die durchdachten Kommentare und die freundliche Stimmung. @Biswapriyo Ich wollte nur ein Skript, um Fotos umzubenennen, die ich zuvor sortiert und einfache Codes hinzugefügt hatte (z. B. "i"). Im Unterverzeichnis befanden sich viele Dateien, jedoch nicht zweimal mit demselben Namen. eyerah vor 6 Jahren 0

0 Antworten auf die Frage