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

Ausgedruckt am: 28.03.2024 um 11:03 Uhr

Mitglied: bastla
bastla 10.04.2009 um 15:22:50 Uhr
Goto Top
Hallo IchWeissNicht!

Versuch es mit der Umschaltung der Codepage auf 1252 (am Beginn des Batches):
chcp 1252 >nul
Grüße
bastla
Mitglied: IchWeissNicht
IchWeissNicht 14.04.2009 um 17:58:51 Uhr
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
Mitglied: bastla
bastla 14.04.2009 um 18:23:57 Uhr
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