Batch Ordner umlaute umbennen
Hallo Leute
ich habe in Ornder namens
Strewe_palü_28.12.1926
Ünlü_Sandra_28.12.1926
Test_Önder_01.05.1986
usw....
ich müsste den umbennen in
Strewe_palue_28.12.1926
Uenlue_Sandra_28.12.1926
Test_Oender_01.05.1986
wie kann ich das machen? am besten wäre in Batch, da ich das inplementieren könnte.
gruß
Manuel
ich habe in Ornder namens
Strewe_palü_28.12.1926
Ünlü_Sandra_28.12.1926
Test_Önder_01.05.1986
usw....
ich müsste den umbennen in
Strewe_palue_28.12.1926
Uenlue_Sandra_28.12.1926
Test_Oender_01.05.1986
wie kann ich das machen? am besten wäre in Batch, da ich das inplementieren könnte.
gruß
Manuel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 07.08.2009 um 20:58:35 Uhr
Batch Ordner umlaute umbennen
...ich müsste den umbennen in ..
Auch dieser Beitrag hat den running gag counter zu dem gemacht, was er heute ist.Content-ID: 108180
Url: https://administrator.de/forum/batch-ordner-umlaute-umbennen-108180.html
Ausgedruckt am: 10.04.2025 um 19:04 Uhr
2 Kommentare
Neuester Kommentar
Hallo,
habe es zwar nicht getestet aber es sollte eigentlich so funktionieren. Evt. musst du noch Parameter bei den Befehlen mit einbinden.
Bitte Sicher dir die Dateien vorher nochmal. Damit sie dir bei einem Fehler nicht verloren gehen.
md "C:\Dateipfad\Strewe_palue_28.12.1926"
xcopy "C:\Dateipfad\Strewe_pal_28.12.1926\*" "C:\Dateipfad\Strewe_palue_28.12.1926\"
rmdir "C:\Dateipfad\Strewe_pal_28.12.1926\"
Du erstellst also erst ein neues Verzeichnis mit dem neuen Namen.
Dann kopierst du die Daten von dem einen in das andere Verzeichnis.
Zuletzt löscht du das alte Verzeichnis.
Die komischen Zeichen im Pfad stehen da deshalb weil ein anderer Zeichencode in der CMD als in diesem Editor verwendet wird, und die Umlaute deshalb anders aussehen.
Hier eine Übersicht:
ue =
ae = „
oe = ”
UE = š
AE = Ž
OE = ™
Ich hoffe das hilft dir weiter.
Gruß
Moesch
habe es zwar nicht getestet aber es sollte eigentlich so funktionieren. Evt. musst du noch Parameter bei den Befehlen mit einbinden.
Bitte Sicher dir die Dateien vorher nochmal. Damit sie dir bei einem Fehler nicht verloren gehen.
md "C:\Dateipfad\Strewe_palue_28.12.1926"
xcopy "C:\Dateipfad\Strewe_pal_28.12.1926\*" "C:\Dateipfad\Strewe_palue_28.12.1926\"
rmdir "C:\Dateipfad\Strewe_pal_28.12.1926\"
Du erstellst also erst ein neues Verzeichnis mit dem neuen Namen.
Dann kopierst du die Daten von dem einen in das andere Verzeichnis.
Zuletzt löscht du das alte Verzeichnis.
Die komischen Zeichen im Pfad stehen da deshalb weil ein anderer Zeichencode in der CMD als in diesem Editor verwendet wird, und die Umlaute deshalb anders aussehen.
Hier eine Übersicht:
ue =
ae = „
oe = ”
UE = š
AE = Ž
OE = ™
Ich hoffe das hilft dir weiter.
Gruß
Moesch
Hallo Maffi!
Da (was ich mir allerdings nicht erklären kann) der folgende Batch alle Umlaute als groß geschrieben interpretiert
gleich die Alternative als VBScript (und ausnahmsweise sogar kürzer
):
Hinweise: Das "echo" vor dem "ren" im Batch sowie das "REM" im VBScript verhindern (für die Testphase) das Durchführen der Umbenennung und müssen daher für den "Ernstfall" entfernt werden.
Die Zeile 11 ("WScript.Echo ...") im VBScript dient nur dazu, die "Vorschau" auf das Umbenennen zu erstellen und kann in weiterer Folge entfernt werden. Damit nicht für jeden Ordner ein eigenes Fenster (welches dann auch jeweils einzeln geschlossen werden muss) geöffnet wird, das VBScript von der Kommandozeile mit
testen.
Grüße
bastla
Da (was ich mir allerdings nicht erklären kann) der folgende Batch alle Umlaute als groß geschrieben interpretiert
@echo off & setlocal
for /f "tokens=2 delims=:." %%i in ('chcp') do set "CP=%%i"
chcp 1252>nul
::Basisordner angeben, in welchem die umzubenennenden Unterordner liegen
::immer an das Ende einen "\" setzen
set "Basis=D:\Dein Ordner\"
for /d %%i in ("%Basis%*.*") do call :ProcessDir "%%i"
chcp %CP%>nul
goto :eof
:ProcessDir
set "DirName=%~nx1"
set "DirName=%DirName:Ä=Ae%"
set "DirName=%DirName:ä=ae%"
set "DirName=%DirName:Ö=Oe%"
set "DirName=%DirName:ö=oe%"
set "DirName=%DirName:Ü=Ue%"
set "DirName=%DirName:ü=ue%"
if not exist "%~dp1\%DirName%" echo ren %1 "%DirName%"
goto :eof
Basis = "D:\Dein Ordner\"
Set fso = CreateObject("Scripting.FileSystemObject")
For Each Folder In fso.GetFolder(Basis).SubFolders
NewFolderName = Folder.Name
NewFolderName = Replace(NewFolderName, "Ä", "Ae")
NewFolderName = Replace(NewFolderName, "ä", "ae")
NewFolderName = Replace(NewFolderName, "Ö", "Oe")
NewFolderName = Replace(NewFolderName, "ö", "oe")
NewFolderName = Replace(NewFolderName, "Ü", "Ue")
NewFolderName = Replace(NewFolderName, "ü", "ue")
WScript.Echo Folder.Name & " --> " & NewFolderName
REM If Folder.Name <> NewFolderName Then Folder.Name = NewFolderName
Next
Die Zeile 11 ("WScript.Echo ...") im VBScript dient nur dazu, die "Vorschau" auf das Umbenennen zu erstellen und kann in weiterer Folge entfernt werden. Damit nicht für jeden Ordner ein eigenes Fenster (welches dann auch jeweils einzeln geschlossen werden muss) geöffnet wird, das VBScript von der Kommandozeile mit
cscript //nologo VBScriptName.vbs
Grüße
bastla