Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Umlaute in Batchdateien

143 views
Skip to first unread message

Dirk Zimmermann

unread,
Jun 3, 2001, 12:33:33 PM6/3/01
to
Hallo Leute,

ich habe folgendes Problem.

Mit einer Stapelverarbeitungsdatei (Batch) versuche ich zur automatischen
Installation eines Programms Verknüpfungen über das Startmenü in den Ordner
Programme zu kopieren und zu löschen. Dazu nutze ich den XCOPY Befehl. Dabei
taucht aber folgendes Problem auf:

Im Zielpfad der Batch wird der Umlaut Ü von Startmenü bei der Abarbeitung in
eine hochgestellte 3 umgesetzt. Dadurch wird ein neuer Ordner erstellt und
die Verknüpfung wird falsch kopiert.

Wo könnte der Fehler liegen? In den Einstellungen des Betriebssystems habe
ich bisher keine wirksamen Änderungen vornehmen können.

Ich wäre für jeden Hinweis dankbar. Sollte die Frage trivial sein und eine
bekannte FAQ-Quelle existieren, bitte ich ebenfalls um eine Hinweis und
entschuldige mich gleich.

System: Win 98 (kein SE)
--
Danke und Gruß Dirk

Mail to: dmzimm...@web.de


Christoph Basedau

unread,
Jun 3, 2001, 1:12:38 PM6/3/01
to

"Dirk Zimmermann" schrieb:

>
> ich habe folgendes Problem.
>
> Mit einer Stapelverarbeitungsdatei (Batch) versuche ich zur automatischen
> Installation eines Programms Verknüpfungen über das Startmenü in den
> Ordner Programme zu kopieren und zu löschen. Dazu nutze ich den XCOPY
> Befehl. Dabei taucht aber folgendes Problem auf:
>
> Im Zielpfad der Batch wird der Umlaut Ü von Startmenü bei der Abarbeitung
> in eine hochgestellte 3 umgesetzt. Dadurch wird ein neuer Ordner erstellt
> und die Verknüpfung wird falsch kopiert.
>
> Wo könnte der Fehler liegen? In den Einstellungen des Betriebssystems habe
> ich bisher keine wirksamen Änderungen vornehmen können.

Du kannst das Problem lösen, wenn Du Deine Batch mit "EDIT.COM", dem
Dos-Editor erstellst/bearbeitest.
Windows-Programme wie Notepad, Wordpad etc benutzen eine Zeichensatz,
der sich geringfügig von dem von DOS-Programmen unterscheidet;
vor allem in den Umlauten.
EDIT benutzt den gleichen Zeichensatz wie der Kommando-Interpreter
"Command.com". Da gibts dann keine Verwechslungen.

Also einfach alles mit EDIT nachbessern.

Mfg
Christoph


Manfred Alfaré

unread,
Jun 3, 2001, 1:57:06 PM6/3/01
to
Hallo Christoph!

"Christoph Basedau" <nospam_...@gmx.net> schrieb im Newsbeitrag
news:##1NfBF7AHA.2052@tkmsftngp05...
>

> >
> > Im Zielpfad der Batch wird der Umlaut Ü von Startmenü bei der
Abarbeitung
> > in eine hochgestellte 3 umgesetzt. Dadurch wird ein neuer Ordner
erstellt
> > und die Verknüpfung wird falsch kopiert.
> >
> > Wo könnte der Fehler liegen? In den Einstellungen des
Betriebssystems habe
> > ich bisher keine wirksamen Änderungen vornehmen können.
>
> Du kannst das Problem lösen, wenn Du Deine Batch mit "EDIT.COM", dem
> Dos-Editor erstellst/bearbeitest.
> Windows-Programme wie Notepad, Wordpad etc benutzen eine
Zeichensatz,
> der sich geringfügig von dem von DOS-Programmen unterscheidet;


Geringfügig ?

Sind doch immerhin ca 50 % der Zeichen, die in ASCII und ANSI-Code
verschieden sind.

Gruß
Manfred

Christoph Basedau

unread,
Jun 3, 2001, 8:15:05 PM6/3/01
to

"Manfred Alfaré" schrieb:
> Hallo Christoph!
> "Christoph Basedau" schrieb:

> > Du kannst das Problem lösen, wenn Du Deine Batch mit "EDIT.COM", dem
> > Dos-Editor erstellst/bearbeitest.
> > Windows-Programme wie Notepad, Wordpad etc benutzen eine
> Zeichensatz,
> > der sich geringfügig von dem von DOS-Programmen unterscheidet;

> Geringfügig ?
>
> Sind doch immerhin ca 50 % der Zeichen, die in ASCII und ANSI-Code
> verschieden sind.

Das sogenannte "ASCII" ist erstmal ein 7Bit-Zeichensatz, das sogenannte
"ANSI" 8Bit. Der Vergleich hinkt also schonmal von vornherein.
Ausserdem solltest Du vielleicht präzisieren, was Du unter
"ANSI" verstehst: MS-DOS-Latin 1 AKA Codepage 437, oder MS-DOS-Latin 2
AKA Codepage 850, Windows-ISO 8859-1 oder eine weitere
Implementation des tatsächlichen Standards "ANSI/ISO 8859-1-1987"

Die für die Darstellung von "Sprache" relevanten Zeichen (Char 20,32-126)
sind auf jeden Fall in allen Zeichensätzen identisch.
Über Char 127 gibt es in der Tat etliche Unterschiede. Allerdings spielen
im alltäglichen Gebrauch nur die dtschen Umlaute und das "ß" eine
tatsächliche Rolle (Wenn man von Versatzstücken für Fensterrahmen in DOS mal
absieht *g*) und selten-benutzten Sonderzeichen wie ¼,½,¾,¹,²,³,®.
Und selbst die sind z.T identisch belegt.

Also über 90% Gleichheit in tatsächlich verwendeten Schriftzeichen.
Wenn man die Anzahl identischer Zeichen in durchschnittlichen Dokumenten
heranziehen würde, käme man sicherlich auf über 98 Prozent Identität.

Mfg
Christoph


Manfred Alfaré

unread,
Jun 4, 2001, 6:49:44 AM6/4/01
to
Hallo Christoph!

"Christoph Basedau" <nospam_...@gmx.net> schrieb im Newsbeitrag

news:eB60qtI7AHA.2052@tkmsftngp05...


>
> "Manfred Alfaré" schrieb:
> > Hallo Christoph!
> > "Christoph Basedau" schrieb:

> > Sind doch immerhin ca 50 % der Zeichen, die in ASCII und ANSI-Code


> > verschieden sind.
>
> Das sogenannte "ASCII" ist erstmal ein 7Bit-Zeichensatz, das
sogenannte

Akzeptiert.
Gemeint habe ich den "IBM-Zeichensatz" der bis 127 mit dfem
ASCII-Zeichnsatz identisch ist.

> Die für die Darstellung von "Sprache" relevanten Zeichen (Char
20,32-126)
> sind auf jeden Fall in allen Zeichensätzen identisch.
> Über Char 127 gibt es in der Tat etliche Unterschiede. Allerdings
spielen
> im alltäglichen Gebrauch nur die dtschen Umlaute und das "ß" eine
> tatsächliche Rolle (Wenn man von Versatzstücken für Fensterrahmen in
DOS mal
> absieht *g*) und selten-benutzten Sonderzeichen wie ¼,½,¾,¹,²,³,®.
> Und selbst die sind z.T identisch belegt.

Also wenn Du den IBM-Zeichensatz (CP 437) hernimmst und z.B. in der
Zeichentabelle die Schriftart ARIAL oder andere, wirst Du über 127
keine EINZIGE Übereinstimmung finden.

Gruß
Manfred


Christoph Basedau

unread,
Jun 4, 2001, 12:12:36 PM6/4/01
to

"Manfred Alfaré" schrieb
> "Christoph Basedau" schrieb:
> > "Manfred Alfaré" schrieb:
> > > "Christoph Basedau" schrieb:

> Hallo Christoph!

> > > Sind doch immerhin ca 50 % der Zeichen, die in ASCII und ANSI-Code
> > > verschieden sind.
> >
> > Das sogenannte "ASCII" ist erstmal ein 7Bit-Zeichensatz, das
> sogenannte
>
> Akzeptiert.
> Gemeint habe ich den "IBM-Zeichensatz" der bis 127 mit dfem
> ASCII-Zeichnsatz identisch ist.
>
> > Die für die Darstellung von "Sprache" relevanten Zeichen (Char
> > 20,32-126) sind auf jeden Fall in allen Zeichensätzen identisch.
> > Über Char 127 gibt es in der Tat etliche Unterschiede. Allerdings
> > spielen im alltäglichen Gebrauch nur die dtschen Umlaute und das
> > "ß" eine tatsächliche Rolle
> > (Wenn man von Versatzstücken für Fensterrahmen in DOS mal absieht *g*)
> > und selten-benutzten Sonderzeichen wie ¼,½,¾,¹,²,³,®.
> > Und selbst die sind z.T identisch belegt.
>
> Also wenn Du den IBM-Zeichensatz (CP 437) hernimmst und z.B. in der
> Zeichentabelle die Schriftart ARIAL oder andere, wirst Du über 127
> keine EINZIGE Übereinstimmung finden.

Du hast schon recht, das die keine Gemeinsamkeiten aufweisen, die
"deutsche" Codepage 850 und der "ANSI"-Schriftsatz auch nur wenige
Übereinstimmungen.
Allerdings frag ich mich, welchen Zeichensatz Windows nun tatsächlich
verwendet. Ich habe ein C-Buch, in dem ein Tabelle mit sogenanntem
"Windows"-Ansi Zeichensatz aufgelistet wird - und diese Zeichen
verwendet zumindest meine Windows-Insatllation nicht.

z.B. Zeichen 252 ist laut ANSI ein "ü". Wenn man aber in einem
beliebigen Windows-Programm ALT+252(numerisch) eintippt, gibt es eine
hochgestellte 3: "³".
Wenn ich dies in eine Datei schreibe, und in Hex anschaue, wird die
mit ALT+252 eingegebene Zeichen als "B3" interpretiert = ANSI-179,
nicht ANSI-252.(Was dem ANSI-Standard entspricht).
Wenn ich aber Alt+179 eintippe, gibt es ein Pipe-ähnliches Zeichen: "¦",
was als "A6" angegeben wird, ANSI-166.

Ziemlich verrückt das ganze. Da sind also noch Konvertierungsroutinen
zwischen Tastatur und Editor eingebaut.

Insofern würd ich eigentlich gern mal wissen, welche Faktoren eigentlich
nun den tatsächlich verwendeten Zeichensatz bestimmen.

Vielleicht hat das auch was mit dem Tastaturtreiber zu tun,
ich nehme da keyb2.com und benutze keine Mode-Codepages.

Für die Praxis ist das aber eh wenig wichtig. DOS-Dateien editiert
man am besten mit EDIT.COM oder benutz eine Konvertierungsroutine.
Dann gibts keine Probleme.

Mfg
Christoph

Christoph Basedau

unread,
Jun 4, 2001, 6:26:10 PM6/4/01
to

"Thomas Hinkel" schrieb:
> Dirk Zimmermann wrote:

> >Mit einer Stapelverarbeitungsdatei (Batch) versuche ich zur automatischen

> >Installation eines Programms Verknuepfungen ueber das Startmenue in den
> >Ordner Programme zu kopieren und zu loeschen. Dazu nutze ich den XCOPY


> >Befehl. Dabei taucht aber folgendes Problem auf:
> >

> >Im Zielpfad der Batch wird der Umlaut Ue von Startmenue bei der


> >Abarbeitung in eine hochgestellte 3 umgesetzt. Dadurch wird ein neuer

> >Ordner erstellt und die Verknuepfung wird falsch kopiert.
>
> Das "Problem" ist, das du mit einer Batch nur Datei und Verzeichnisnamen
> nach der DOS-Regel verwenden kannst also 8.3
> Der Dateiname darf Maximal 8 Zeichen enthalten, und die Dateierweiterung
> maximal 3.

In der DOS-Box oder BATs unter Windows, um die es hier geht, kann man ohne
weiteres lange Dateinamen benutzen.

cd c:\windows\startmenü\programme\autostart

geht ohne weiteres. Wenn Leerzeichen im Dateinamen sind, nimmt man
doppelte Anführungszeichen, um den Pfad anzugeben:

cd "c:\programme\windows media player"

Das Problem mit dem Umlaut umgeht man in der von Dir angegeben Weise nur,
wenn der Umlaut Zeichen Nr.7 oder höher und der Shortname länger 8 Zeichen
ist (und durch die Tilde gekürzt wird).
Bei Namen wie "C:\Programme\Zubehör" hilft er nicht weiter.
Das "Problem" ist der Zeichensatz.

Mfg
Christoph


0 new messages