Discussion:
Frage zu Batch-Datei
(zu alt für eine Antwort)
Jürgen Meyer
2013-04-26 11:21:25 UTC
Permalink
Ich habe mit Notepad in Win7 zunächst ein Textdokument erstellt.
Exiftool -k (usw)
Anschließend habe ich der Textdatei die Erweiterung .bat gegeben.

Lasse ich den Batch jetzt laufen, dann ich sehe ich, dass aus dem Bindestrich
ein anderes Zeichen geworden ist (û).

Gebe ich die Zeile direkt im Dos-Fenster ein, gibt es keine Probleme.

Warum verhält sich Windows hier unterschiedlich?
Wie macht man es richtig?

Gruß
Jürgen
Ralf Breuer
2013-04-26 11:42:39 UTC
Permalink
Post by Jürgen Meyer
Ich habe mit Notepad in Win7 zunächst ein Textdokument erstellt.
Exiftool -k (usw)
Anschließend habe ich der Textdatei die Erweiterung .bat gegeben.
Lasse ich den Batch jetzt laufen, dann ich sehe ich, dass aus dem Bindestrich
ein anderes Zeichen geworden ist (û).
Gebe ich die Zeile direkt im Dos-Fenster ein, gibt es keine Probleme.
Warum verhält sich Windows hier unterschiedlich?
Wie macht man es richtig?
In Notepad bei "Speichern unter" unten die Codierung auf "ANSI" stellen.
--
Gruß
Ralf
Christoph Schneegans
2013-04-26 11:49:00 UTC
Permalink
Post by Jürgen Meyer
Lasse ich den Batch jetzt laufen, dann ich sehe ich, dass aus dem
Bindestrich ein anderes Zeichen geworden ist (û).
Das Zeichen 'û' (U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX) wird von
der Zeichencodierung Cp850, die in der Eingabeaufforderung noch häufig
verwendet wird, durch das Byte 0x96 codiert.

Die Zeichencodierung Windows-1252, die in Westeuropa und Amerika
gewissermaßen die Standardcodierung von Windows ist, decodiert das Byte
0x96 gerade in das Zeichen '–' (U+2013 EN DASH). Das ist der etwas
breitere Gedankenstrich, den Word erzeugt, wenn man "foo -- bar" tippt.

Ich gehe deshalb stark davon aus, daß du versehentlich nicht den
"gewöhnlichen" Bindestrich '-' (U+002D) eingegeben hast, sondern eben
den Gedankenstrich. Hast du den Text vielleicht aus Word oder von einer
Webseite kopiert?

Lösch das Zeichen und gib den Bindestrich in Notepad über die Tastatur
erneut ein, dann sollte alles gehen.
--
„Ich werde zu diesen Personen gehören, die ab 2013 mit geringem
Aufwand sich gegen den öffentlich-rechtlichen Rundfunk stellen
werden.“ — <http://www.online-boykott.de/de/klagen-statt-zahlen>
Wilfried
2013-04-26 11:52:27 UTC
Permalink
Post by Jürgen Meyer
Ich habe mit Notepad in Win7 zunächst ein Textdokument erstellt.
Exiftool -k (usw)
Anschließend habe ich der Textdatei die Erweiterung .bat gegeben.
Lasse ich den Batch jetzt laufen, dann ich sehe ich, dass aus dem Bindestrich
ein anderes Zeichen geworden ist (û).
Gebe ich die Zeile direkt im Dos-Fenster ein, gibt es keine Probleme.
Warum verhält sich Windows hier unterschiedlich?
Weil Notepad standardmäßig im Windows-Zeichensatz (ANSI) kodiert,
in der Eingabeaufforderung ("DOS-Fenster") aber der OEM-Zeichensatz
unterstellt wird.
Post by Jürgen Meyer
Wie macht man es richtig?
Dummerweise kann man im Notepad nur ANSI, Unicode oder UTF-8 einstellen.

Verwende statt dessen einen anderen Editor, z.B. http://www.pspad.com/
Vor dem Speichern unter "Format" "OEM" wählen.

Grüße
--
Wilfried Hennings
bitte in der Newsgruppe antworten, die Mailadresse ist ungültig
Christoph Schneegans
2013-04-26 12:10:12 UTC
Permalink
Post by Wilfried
Weil Notepad standardmäßig im Windows-Zeichensatz (ANSI) kodiert,
in der Eingabeaufforderung ("DOS-Fenster") aber der OEM-Zeichensatz
unterstellt wird.
Das spielt aber keine Rolle, solange ausschließlich ASCII-Zeichen (also
die Unicode-Zeichen U+0000 bis einschließlich U+007F) verwendet werden.
--
„Ich werde zu diesen Personen gehören, die ab 2013 mit geringem
Aufwand sich gegen den öffentlich-rechtlichen Rundfunk stellen
werden.“ — <http://www.online-boykott.de/de/klagen-statt-zahlen>
Helmut Rohrbeck
2013-04-26 20:12:01 UTC
Permalink
Post by Jürgen Meyer
Ich habe mit Notepad in Win7 zunächst ein Textdokument erstellt.
Exiftool -k (usw)
Anschließend habe ich der Textdatei die Erweiterung .bat gegeben.
Lasse ich den Batch jetzt laufen, dann ich sehe ich, dass aus dem
Bindestrich ein anderes Zeichen geworden ist (û).
Gebe ich die Zeile direkt im Dos-Fenster ein, gibt es keine Probleme.
Warum verhält sich Windows hier unterschiedlich?
Wie macht man es richtig?
Als 1. Zeile in der Batch-Datei:
chcp 1252;
--
Helmut Rohrbeck
http://www.helmrohr.de/Kontakt.htm
Browser Add-Ons und HTML5 testen:
http://www.helmrohr.de/Guides/ActX-Test/ActX-Test.htm
Loading...