anette63
Goto Top

Umlaute bei der DIR-Umleitung - Unterschied XP - Vista?

Hallo zusammen,

unter XP verwende ich Batch Files zur Vorbereitung von bestimmten Datensicherungen. Dabei wird ein schlichtes (Beispiel: ) DIR *.xxx >\meinverzeichnis\heute\xxx.txt verwendet, und dabei werden bleiben Umlaute in Dateinamen erhalten. In der xxx.txt steht dann also z.B. ...

26.04.2008 10:41 0 Lösungsvorschlag.doc

Das ganze benötige ich nun unter Vista, und da ist das [ö] jetzt ein [”] ...

26.04.2008 10:41 0 L”sungsvorschlag.doc

und ich finde ums Verrecken (sorry...) nicht heraus, wie ich an der Stelle weiterkomme.

Vermutlich eine Kleinigkeit, aber ich bin für jede Lösung dankbar!

Anette

Content-Key: 86446

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

Ausgedruckt am: 29.03.2024 um 15:03 Uhr

Mitglied: 54487
54487 26.04.2008 um 12:22:27 Uhr
Goto Top
Die Konsole verwendet eine andere Codepage.

Im einfachsten Fall hilft dir die Bearbeitung der Textdatei mit edit.com, ist auch in Vista enthalten.

Wenn du z. B. EditPad als Editor verwendest, kannst du mit OEM > Ansi unter Umwandeln die Zeichen anpassen.
Mitglied: Biber
Biber 26.04.2008 um 13:09:25 Uhr
Goto Top
Moin anette63,

vergleiche mal die Codepage-Einstellungen am CMD-Prompt durch Eingabe von "CHCP" bei den beiden Rechnern.
Wenn es unter XP mit der Codepage 850 bisher funktionierte, solltest Du die Vi$ta-Codepage von 1252 auf diesen Wert ändern et vice versa.

Grüße
Biber
Mitglied: 54487
54487 26.04.2008 um 13:14:27 Uhr
Goto Top
Unter XP ist mit der Codepage 850 das gleiche Problem. Möglicherweise wird unter XP ein anderer Editor mit anderem Zeichensatz oder passender Einstellung verwendet.
Mitglied: Biber
Biber 26.04.2008 um 14:38:19 Uhr
Goto Top
Moin nachdenker,

ich denke nicht, dass anette63 die DIR-Ausgabe mit einem Editor umleitet.

Was ich meine ist, dass die DIR-Ausgabe unterschiedlich aussieht je nach Codepage.
Wenn wir mal einen Ordner nehmen, der definitiv nicht durch annette63 angelegt wurde:
D:\temp>
$cmd$chcp 850>nul & dir /b "%userprofile%\St*"  
Startmen

D:\temp>
$cmd$chcp 1252>nul & dir /b "%userprofile%\St*"  
Startmenü
... so wird der Name durch den DIR-Befehl Codepage-abhängig dargestellt UND in die .txt-Datei geschrieben.

Grüße
Biber
Mitglied: 54487
54487 26.04.2008 um 14:56:32 Uhr
Goto Top
Moin Biber,

da besteht imo wohl eher ein Missverständnis. Wenn ich die Angaben von anette63 richtig interpretiere, ist die Ausgabe in die Textdatei schon ok. Dabei verhält sich Vista genauso wie XP. Die Default-CP von Vista in der deutschen Version ist auch 850, wie bei XP, wenn da niemand was verstellt hat. In der erzeugten Textdatei sind allerdings die Umlaute im OEM-Zeichensatz vorhanden und nicht im Windows-Zeichensatz, und das kann man afaik nur beeinflussen, indem man für die Anzeige den passenden Editor mit passendem Zeichensatz wählt. NOTEPAD ist da etwas unflexibel. face-wink

Wenn man die Codepage auf z. B. 1252 umstellt, ist die Anzeige auf dem Bildschirm ja auch entsprechend "falsch", die Textausgabe im Editor allerdings korrekt.

Es kann latürnich auch sein, dass ich mit meiner Interpretation daneben liege. ;)

$cmd$chcp usw. führt bei mir unter XP und unter Vista zu

Der Befehl "$cmd$chcp" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
Mitglied: anette63
anette63 01.05.2008 um 09:58:21 Uhr
Goto Top
Hallo Biber, hallo Nachdenker,

vielen Dank für die Beiträge. Der Hinweis auf die Codepages hat mir weitergeholfen und dafür
erstmal ganz lieben Dank, Super-Sache das!

Ich verwende die DIR-Umleitung in eine Datei aus einem VB-Programm heraus, das mir aus diesen DIR-Ausgaben Batch-Files generiert, die dann halt irgendwas sinnvolles tun. Wenn ich jetzt (unter Vista) vor dem Erzeugen dieser Batchfiles die Zeile [CHCP 1252] vorsehe, läuft es wie vorher unter XP. Meine Vista-Default-CP ist in der Tat 850.

Übrigens bekomme ich den gleichen Fehler wie du, Nachdenker, wenn ich es mit $cmd$chcp versuche.

Also dann, nochmal vielen Dank an Euch, ich werde heute ein Weizen auf Euer Wohl trinken!

Anette
Mitglied: Biber
Biber 01.05.2008 um 21:16:19 Uhr
Goto Top
Moin anette63,

auch wenn es nicht mehr so wichtig ist, aber um das Missverständnis auszuräumen:
Der Befehl vom CMD-Prompt aus heißt
ChCP 1252
-oder-
ChCP 850
...oder CHCP 437 oder oder... wie mir durchaus bekannt ist.

Der Rest, also das "$cmd$" gehört mit zu dem CMD-Prompt des Rechners, von dem aus ich damals gepostet habe.

Ich werde diesen Prompt mal ändern...

Grüße
Biber