ichweissnicht
Goto Top

Innerhalb einer Batchdatei Zeichen in Umlaute (z. B. ae in ä) umbenennen?

Hallo,

leider sind meine Kenntnisse was das Schreiben von Batchdateien angeht sehr begrenzt. Trotzdem habe ich mir ein Script gebastelt das mir nach Auswahl eines bestimmten Ordners, diesen Ordner auf einen USB-Stick kopiert. Dieses Script funktioniert auch wie gewünscht.
Das Problem dabei ist, das das Script einige Umlaute (ä, ö, ü) innnerhalb des ECHO-Befehls enhält die ich durch ae, oe bzw. ue ersetzt habe da sonst nur irgendwelche krytische Zeichen zu erkennen gewesen wären.
Nun meine Frage, könnt ihr mir helfen und posten wie man es hin bekommen könnte das innerhalb des ECHO-Befehls auch Umlaute zu erkennen wären.

Vielen Dank für eure Hilfe

IchWeissNicht

Content-Key: 113660

Url: https://administrator.de/contentid/113660

Printed on: April 27, 2024 at 23:04 o'clock

Member: bastla
bastla Apr 10, 2009 at 13:22:50 (UTC)
Goto Top
Hallo IchWeissNicht!

Versuch es mit der Umschaltung der Codepage auf 1252 (am Beginn des Batches):
chcp 1252 >nul
Grüße
bastla
Member: IchWeissNicht
IchWeissNicht Apr 14, 2009 at 15:58:51 (UTC)
Goto Top
Hallo bastla,

vielen Dank für deine schnelle Hilfe.
Leider funktioniert es damit auch nicht, da nur die ersten 128 Zeichen der MS-DOS-Kodierung (Chcp 850) mit der der Windows-Kodierung (Chcp 1252) übereinstimmen. Und die Umlaute nicht mehr dabei sind.

Gruß
IchWeissNicht
Member: bastla
bastla Apr 14, 2009 at 16:23:57 (UTC)
Goto Top
Hallo IchWeissNicht!

Könntest Du ein Beispiel für das Problem posten? Folgendes funktioniert zB bei mir:
@echo off & setlocal
echo ÄÖÜßäöü
::Aktuelle CP merken
for /f "tokens=2 delims=:." %%i in ('chcp') do set "CP=%%i"  
chcp 1252>nul
echo ÄÖÜßäöü
::wieder vorherige CP setzen
chcp %CP%>nul
Grüße
bastla