2.7k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo zusammen.

Ich hab mir eine kleine Batch-Datei geschrieben, die nicht anderes tun soll als meine Abfrage (dir *.pdf) in eine txt-Datei auszugeben. Leider werden in der erzeugten txt-Datei keine Umlaute angeben.

Ich hab schon einige Sachen mit TYPE und ECHO ausprobiert, doch leider ohne Erfolg.

Kennt jemand eine Möglichkeit?

mfg

6 Antworten

0 Punkte
Beantwortet von ralfman Experte (2.1k Punkte)
OK, welches Betriebssystem?

Ralf
0 Punkte
Beantwortet von
Falls Win2000/XP/Vista probier mal, die Codepage vorher zu ändern:

chcp 1252
dir *.pdf > ergebnis.txt
chcp 850

(chcp 850 setzt sie wieder auf Standard zurück)

Yossarian
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Das dürfte unter jedem Windows gleich sein:

mode con codepage select=1252
dir /b *.pdf >liste.txt
0 Punkte
Beantwortet von
Ich hab die Codepage, wie oben beschrieben geändert und es funzt.
(Betriebssystem Win2000)

Vielen Dank.
0 Punkte
Beantwortet von
Hallo miteinander,

ich fand das Thema sehr interessant, ich hatte das gleiche Problem bei meinem Archiv-Programm - da ich Umlaute in Datei- und Verzeichnisnamen vermeide, bin erst spät über die Klippe gestolpert.

Ich habe noch eine Frage:
Wenn ich aus einem Programm heraus eine Batch erzeuge, die eine Liste von Filenamen erstellt , muss ich dann am Ende der Batch die Codepage zurücksetzen?
Oder ist die Änderung der Codepage mit dem Schließen des Fensters hinfällig?

Der Hintergrund ist, dass manche meiner Kollegen kein deutsches Windows benutzen, sondern Englisch bzw. Chinesisch und ich noch eine Abfrage der aktuellen Codepage einfügen müsste.

Gruß vom Busmaster
0 Punkte
Beantwortet von massaraksch Experte (3.1k Punkte)
Oder ist die Änderung der Codepage mit dem Schließen des Fensters hinfällig?

Ja.

Probiers einfach. Tipp: "chcp" ohne Parameter zeigt die aktive Codepage an.

Massaraksch
...