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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 92979
Url: https://administrator.de/contentid/92979
Printed on: April 27, 2024 at 16:04 o'clock
6 Comments
Latest comment
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