So ersetzen Sie alle Leerzeichen durch Unterstriche in allen Dateinamen in einem Ordner?
Ich versuche, umbenennen alle Dateien in einem Ordner (alle .exe-Dateien). Ich möchte, um zu ersetzen Sie alle Leerzeichen durch Unterstriche, z.B. qwe qwe qwe asd.exe
zu qwe_qwe_qwe_asd.exe
.
Muss ich dies über die Befehlszeile. Ich habe versucht, eine Menge von möglichen Lösungen, die ich gefunden im internet und auch auf dieser Seite, aber ich kann nicht damit es funktioniert.
Brauche ich auch, um dies zu tun, in "einer Zeile" /"ein-Befehl", aber ich nehme an, alle die arbeiten, Antworten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen one-liner
Spawn eine cmd-Instanz, mit Erweiterungen und verzögerte Erweiterung aktiviert, und für jede exe-Datei mit Leerzeichen im Namen, ersetzen Sie die Leerzeichen mit Unterstrichen und benennen Sie die Datei mit dem neuen Namen
Angepasst von hier:
https://stackoverflow.com/a/16129486/2000557
Erstellen Sie eine batch-Datei (
*.bat
) mit dem oben genannten Inhalt. Platzieren Sie diese batch-Datei in den Ordner mit allen .exe und es wird ersetzen Sie die Leerzeichen durch Unterstriche, wenn Sie es ausführen.for %i in (*.css) do ( ren "%~i" "_%~i.scss" )
=> umbenennen, alle Dateien, die mit .css-Erweiterung "_ORIGINALFILENAME.scss"Einfach:
set filename=qwe qwe qwe asd.exe
,set filename2=%filename: =_%
,ren "filename" "filename2"
Verwendung von forfiles:
Hinzufügen
/s
nachforfiles
zu recurse durch Unterordner.Phile: =_!
. Was kommt vor der=
ist, was ersetzt wird. Das Ding, das geht nach der=
ist das, was es ersetzt werden.Basierend auf @Grau Antwort, ich habe es verlängern zu ersetzen Dateinamen rekursiv in alle Unterverzeichnisse.
Datei 1: ersetzen.bat
Datei 2: rekursiv.bat
Dateien
replace.bat
enthält Skript zum ersetzen vonspace
mitunderscore
recursive.bat
enthält Skript zu tun Rekursion in UnterverzeichnissenWie zu benutzen?
replace.bat
undrecursive.bat
im gleichen Verzeichnis..ext
mit der gewünschten Dateiendung zu entsprechen (wie.mp4
) inreplace.bat
.recursive.bat
Datei.replace.bat
undrecursive.bat
im übergeordneten Verzeichnis, dann funktioniert es auf alle untergeordneten Verzeichnisse.set data=%Datum:~6,4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set data=%data: =0%
Speichern Sie die folgenden 2 Befehle in einer
.bat
- Datei. Es ersetzt" "
mit"_"
in allen Dateien und Ordnern, auch rekursiv, ausgehend vom Ordner, wo die Datei gespeichert ist.Hinweis: die Erste Zeile ist dabei für Dateien, und das zweite tut dies für Ordner. Jede Zeile kann separat verwendet werden.
Kleinere änderungen an Hamza Rashid die Antwort. Insbesondere seine rekursive.bat-Skript.
rekursiv.bat
ersetzen.bat bleibt die gleiche, und die Anweisungen bleiben die gleichen.