in bat den Zeichensatz bei Ausgabe ändern
oder wie gebe ich Codepage 850 als Characterset in einem XML Dokument an.
Hallo in einem Databasepublishingprojekt haben liegen ein großen Anzahl von Bildern vor. Leider sind diese nicht komplett und desshalb möchte ich eine XML Datei mir Hilfe der folkgenen Bat etstellen:
Leider werden dann alle Dateinamen die Umlaute enthalten so weggeschrieben, daß ein späterer vergleich über beide XML Dateien möglich ist, da DOS hier ja einen anderen Zeichensatz verwendet.
Daher folgende Frage. Ist es möglich bei dem Echo zu verlangen einen anderen Zeichensatz zu verwenden wie UTF-8 Oder ISO....
Oder welchen Zeichensatz muß ich im XML Dokument angeben, um dennoch den gewünschten Vergleich durchführen zu können.
Lehnhard Lützen
Hallo in einem Databasepublishingprojekt haben liegen ein großen Anzahl von Bildern vor. Leider sind diese nicht komplett und desshalb möchte ich eine XML Datei mir Hilfe der folkgenen Bat etstellen:
set dir=data
set xsl=f:\xslt\
echo ^ < root^> >%xsl%bilder.xml
for %%f in (*.*) do (
echo ^ < datei^>%%f^ < /datei> >>%xsl%bilder.xml
)
echo ^ < /root> >>%xsl%bilder.xml
Leider werden dann alle Dateinamen die Umlaute enthalten so weggeschrieben, daß ein späterer vergleich über beide XML Dateien möglich ist, da DOS hier ja einen anderen Zeichensatz verwendet.
Daher folgende Frage. Ist es möglich bei dem Echo zu verlangen einen anderen Zeichensatz zu verwenden wie UTF-8 Oder ISO....
Oder welchen Zeichensatz muß ich im XML Dokument angeben, um dennoch den gewünschten Vergleich durchführen zu können.
Lehnhard Lützen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 20577
Url: https://administrator.de/contentid/20577
Ausgedruckt am: 25.11.2024 um 01:11 Uhr
4 Kommentare
Neuester Kommentar
Moin Lehnhard,
wahrscheinlich bin ich Tage zu spät und vielleicht hat auch woros Tipp bei Dir geholfen, aber...
Stressfreier ist natürlich jeder Zeichensatz, in dem zumindest die (deutschen) Umlaute "maskiert" werden.
Dann mit hoher Wahrscheinlichkeit erzeugst du ja die XMLs nicht für DOS/CMD (also ASCII-Zeichensatz), sondern für Windows im ANSI-Zeichensatz.
Deshalb würde ich lieber UTF-8 statt charset ISO-8859-1 oder ..-15 nehmen...
eigentlich..
andererseits.. für den CMD-Prompt ist natürlich auch das Ampersand "&" ein Steuerzeichen.. kann auch wieder Probleme machen....
Also, mein Angebot: wenn Dein Umlaut-Problem noch besteht, dann melde Dich nochmal.
Zur Not würde ich den ganzen geECHOten ASCII-Krempel in ANSI konvertieren - das sind mit *.vbs ein Dutzend Zeilen und für so ein großes Projekt wie Deins lohnt sich das ja.
Der von woro beschriebene Weg funktioniert IMHO nicht auf allen Windows-Versionen zuverlässig.
Grüße Biber
wahrscheinlich bin ich Tage zu spät und vielleicht hat auch woros Tipp bei Dir geholfen, aber...
Oder welchen Zeichensatz muß ich im XML Dokument angeben...
Dann mit hoher Wahrscheinlichkeit erzeugst du ja die XMLs nicht für DOS/CMD (also ASCII-Zeichensatz), sondern für Windows im ANSI-Zeichensatz.
Deshalb würde ich lieber UTF-8 statt charset ISO-8859-1 oder ..-15 nehmen...
eigentlich..
andererseits.. für den CMD-Prompt ist natürlich auch das Ampersand "&" ein Steuerzeichen.. kann auch wieder Probleme machen....
Also, mein Angebot: wenn Dein Umlaut-Problem noch besteht, dann melde Dich nochmal.
Zur Not würde ich den ganzen geECHOten ASCII-Krempel in ANSI konvertieren - das sind mit *.vbs ein Dutzend Zeilen und für so ein großes Projekt wie Deins lohnt sich das ja.
Der von woro beschriebene Weg funktioniert IMHO nicht auf allen Windows-Versionen zuverlässig.
Grüße Biber
Moin Lehnhard,
Na ja, Probleme ist vielleicht etwas drastisch ausgedrückt - nach meinem Gefühl verlässt man/frau bei Benutzung der Befehle (je nach Win-Version) ChCP und GrafTabl ein wenig den sauber programmierten und gepflegten Bereich bei M$.
Gerade bei den Hilfs-Utilitities, die ich oft verwende, z.B. Find.exe und noch deutlicher Findstr.exe treten unerwünschte Nebeneffekte auf, weil diese einen Wechsel der Codepage nicht so nachvollziehen, wie es "voraussehbar" wäre.
Oder solche Seiteneffekte, dass die Darstellung von geECHOten Strings abweicht, je nachdem ob das CMD-Fenster im Vollbild, als Fenster oder unsichtbar geöffnet wird.
Das Problem ist weniger der Output... das bekomme ich auch immer sauber hin - fummelig wird es z.B. bei Input-Textdateien, die mal im ANSI, mal im ASCII-Zeichensatz vorliegen und aber "von außen" nicht erkennbar sind - die heißen halt immer "*.txt" oder "*.csv".
Deshalb habe ich auch für gelegentlichen Einsatz ein paar Xlate2ANSI bzw. Xlate2ASCII-Schnipsel hier rumliegen. Nur um auf der sicheren Seite zu sein.
Grüße Biber
Welche Probleme könnten den mit graftabl unter welchen Versionen auftreten?
Na ja, Probleme ist vielleicht etwas drastisch ausgedrückt - nach meinem Gefühl verlässt man/frau bei Benutzung der Befehle (je nach Win-Version) ChCP und GrafTabl ein wenig den sauber programmierten und gepflegten Bereich bei M$.
Gerade bei den Hilfs-Utilitities, die ich oft verwende, z.B. Find.exe und noch deutlicher Findstr.exe treten unerwünschte Nebeneffekte auf, weil diese einen Wechsel der Codepage nicht so nachvollziehen, wie es "voraussehbar" wäre.
Oder solche Seiteneffekte, dass die Darstellung von geECHOten Strings abweicht, je nachdem ob das CMD-Fenster im Vollbild, als Fenster oder unsichtbar geöffnet wird.
Das Problem ist weniger der Output... das bekomme ich auch immer sauber hin - fummelig wird es z.B. bei Input-Textdateien, die mal im ANSI, mal im ASCII-Zeichensatz vorliegen und aber "von außen" nicht erkennbar sind - die heißen halt immer "*.txt" oder "*.csv".
Deshalb habe ich auch für gelegentlichen Einsatz ein paar Xlate2ANSI bzw. Xlate2ASCII-Schnipsel hier rumliegen. Nur um auf der sicheren Seite zu sein.
Grüße Biber