Umlaute in Dateinamen abändern
Hallo,
gleich vorweg, es gibt bereits so einen Fall vom 07.02.2007 mit den Titel "Umlaute in Dateinamen per Batch ändern", den damals Biber gelöst hat.
Ich habe das Beispiel probiert, es funktioniert aber bei mir nicht. Ich weiß auch nicht was das für Umlaute sein sollen, die dort mit set chars=„ ” � definiert wurden.
Ein kleines "ä" wäre doch eigentlich durch set chars=ä (Codepage 850 ist bei mir eingesetellt.) zu setzen.
Mein Problem ist wie folgt:
Ich möchte alle Dateinamen, die die Umlaute ä,Ä,ö,Ö,ü,Ü enthalten durch ae,Ae,oe,Oe,ue,Ue ersetzen.
Dazu habe ich das Beispiel von Jahr 2007 mal angepasst. Funktioniert aber auch nicht.
Ich verwende als Betriebssystem Windows 7.
Grüße
joe65
gleich vorweg, es gibt bereits so einen Fall vom 07.02.2007 mit den Titel "Umlaute in Dateinamen per Batch ändern", den damals Biber gelöst hat.
Ich habe das Beispiel probiert, es funktioniert aber bei mir nicht. Ich weiß auch nicht was das für Umlaute sein sollen, die dort mit set chars=„ ” � definiert wurden.
Ein kleines "ä" wäre doch eigentlich durch set chars=ä (Codepage 850 ist bei mir eingesetellt.) zu setzen.
Mein Problem ist wie folgt:
Ich möchte alle Dateinamen, die die Umlaute ä,Ä,ö,Ö,ü,Ü enthalten durch ae,Ae,oe,Oe,ue,Ue ersetzen.
Dazu habe ich das Beispiel von Jahr 2007 mal angepasst. Funktioniert aber auch nicht.
@echo off
rem ä=ä
rem Ä=Ä
rem ö=
rem Ö=Ö
rem ü=ü
rem Ü=Ü
set chars=ä Ä  Ö ü Ü
for /f "delims=" %%a in ('dir /s /b D:\Test\*.*') do (
for %%m in (%chars%) do (
echo %%a | find /i "%%m">nul && echo schlecht: [%%m] in %%a
)
call :replace "%%a"
)
pause>nul
exit
:replace
set newname=%1
set newname=%newname:ä=ae%
set newname=%newname:Ä=Ae%
set newname=%newname:=oe%
set newname=%newname:Ö=Oe%
set newname=%newname:ü=ue%
set newname=%newname:Ü=Ue%
Ich verwende als Betriebssystem Windows 7.
Grüße
joe65
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 239559
Url: https://administrator.de/contentid/239559
Ausgedruckt am: 25.11.2024 um 15:11 Uhr
9 Kommentare
Neuester Kommentar
Hi,
Umlaute in Dateinamen per Batch ändern
was genau hast du da angepasst? Du hast doch den Code vom Ersteller kopiert und der ging ja nicht.
Den Code von Biber hast du in meinen Augen nicht mal angetastet...
Gruß
Umlaute in Dateinamen per Batch ändern
was genau hast du da angepasst? Du hast doch den Code vom Ersteller kopiert und der ging ja nicht.
Den Code von Biber hast du in meinen Augen nicht mal angetastet...
Gruß
Hallo joe65!
Falls Du nix gegen VBS hättest, könntest Du ev auch in Mit VB Script Sonderzeichen entfernen. eine Möglichkeit finden ...
Grüße
bastla
Falls Du nix gegen VBS hättest, könntest Du ev auch in Mit VB Script Sonderzeichen entfernen. eine Möglichkeit finden ...
Grüße
bastla
Hallo joe65!
Sollte so funktionieren, wobei Du eigentlich auf "
verwendest.
Mit "
wobei ich zur ersten Variante tendieren würde (Stichwort: "Dateinamen mit enthaltenen !") ...
Grüße
bastla
Sollte so funktionieren, wobei Du eigentlich auf "
delayedExpansion
" verzichten könntest, indem Du einfachcall set "stringnew=%%stringnew:%find%=%replace%%%"
Mit "
delayedExpansion
" bräuchtest Du wiederum kein "call
" und keine doppelten Prozentzeichenset "stringnew=!stringnew:%find%=%replace%!"
Grüße
bastla