Antworten:
for %a in (*) do ren "%a" "00_%a"
Anmerkungen:
for
wie oben wird nicht empfohlen.Verwenden Sie Folgendes in einer cmd
Shell:
for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"
In einer Batch-Datei (ersetzen %
durch %%
):
for /f "tokens=*" %%a in ('dir /b') do ren "%%a" "00_%%a"
Hinweis:
Es ist wichtig, dass Sie verwenden
FOR /F
und nicht die einfacheFOR
.Das
FOR /F
sammelt das gesamte Ergebnis desDIR
Befehls, bevor es mit der Iteration beginnt, während das einfache Ergebnis mit der IterationFOR
beginnt, nachdem der interne Puffer voll ist, wodurch das Risiko besteht, dass dieselbe Datei mehrmals umbenannt wird.
wie von dbenham in seiner Antwort empfohlen , "Text" am Ende mehrerer Dateinamen hinzuzufügen :
Um diese For-Schleife für Ordner (Verzeichnisse) anstelle von Dateien durchzuführen, schließen Sie einfach den /D
Schalter ein.
for /D %a in (*) do ren "%a" "00_%a"
Von for /?
:
FOR / D% Variable IN (gesetzt) DO-Befehl [Befehlsparameter]
If set contains wildcards, then specifies to match against directory names instead of file names.
ren
funktioniert auf Ordnern. Die Einschränkung besteht darin, dass "Sie kein anderes Laufwerk oder keinen anderen Pfad für das Ziel angeben können.
Ren
.
for /d
es auch das Problem gibt, Werte mehrmals zu verarbeiten (siehe auch meine Antwort).