FOR Schleife Umlaute in der Pfadangabe
Hallo Zusammen,
ich hoffe ihr könnt mir Helfen.
Ich habe in einer Batchdatei folgendes Befehl:
FOR /f "usebackq delims==" %%a IN (c:\test\test.txt) DO del "%%a"
Löschen von Dateien die in den Pfadangaben Umlaute enthalten ist nicht möglich.
Wie soll ich mein Befehl erweitern, damit nicht nur Leerzeichen im Pfad berücksichtigt werden sondern auch die darin enthaltene Umlaute. zB.
test.txt
C:\ab cd\Röhre 12\asus.xt
C:\ab cd\Roh 1-2\Fächer.xt
C:\Löwe cd\Roh1-2\Föhn -12.xt etch.
diese Dateien werden nicht gelöscht.
Für eine schnelle Hilfe wäre ich dankbar.
Malkeba
ich hoffe ihr könnt mir Helfen.
Ich habe in einer Batchdatei folgendes Befehl:
FOR /f "usebackq delims==" %%a IN (c:\test\test.txt) DO del "%%a"
Löschen von Dateien die in den Pfadangaben Umlaute enthalten ist nicht möglich.
Wie soll ich mein Befehl erweitern, damit nicht nur Leerzeichen im Pfad berücksichtigt werden sondern auch die darin enthaltene Umlaute. zB.
test.txt
C:\ab cd\Röhre 12\asus.xt
C:\ab cd\Roh 1-2\Fächer.xt
C:\Löwe cd\Roh1-2\Föhn -12.xt etch.
diese Dateien werden nicht gelöscht.
Für eine schnelle Hilfe wäre ich dankbar.
Malkeba
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 92979
Url: https://administrator.de/forum/for-schleife-umlaute-in-der-pfadangabe-92979.html
Ausgedruckt am: 26.12.2024 um 17:12 Uhr
6 Kommentare
Neuester Kommentar
Die Eingabeaufforderung (cmd.exe) verwendet einen anderen Zeichensatz, deshalb stimmten die Umlaute nicht.
Erstelle die Textdatei test.txt mit edit.com, dann stimmen auch die Umlaute.
Erstelle die Textdatei test.txt mit edit.com, dann stimmen auch die Umlaute.
Hallo malkeba!
In der ersten Zeile - noch genauer, weil ohne führendes Leerzeichen, wäre übrigens
wird die aktuelle CodePage (üblicher Weise 850) ausgelesen und in der Variable %CP% zwischengespeichert. Danach wird auf CP 1252 (Windows ANSI, siehe etwa hier) umgeschaltet, und am Ende wird wieder die ursprüngliche CP gesetzt.
Grüße
bastla
In der ersten Zeile - noch genauer, weil ohne führendes Leerzeichen, wäre übrigens
for /f "tokens=3 delims=:. " %%i in ('chcp') do set "CP=%%i"
Grüße
bastla