Batch-Skript wird nicht ausgeführt, wenn chcp genannt wurde

Ich versuche, löschen Sie einige Dateien mit unicode-Zeichen in Ihnen mit batch-script (es ist eine Anforderung). Also ich starte cmd und ausführen:

> chcp 65001

Effektiv einstellen-Zeichensatz auf UTF-8. Und es funktioniert:

D:\temp\1>dir
 Volume in drive D has no label.
 Volume Serial Number is 8C33-61BF

 Directory of D:\temp\1

02.02.2010  09:31    <DIR>          .
02.02.2010  09:31    <DIR>          ..
02.02.2010  09:32               508 1.txt
02.02.2010  09:28                12 delete.bat
02.02.2010  09:20                95 delete.cmd
02.02.2010  09:13    <DIR>          Rún
02.02.2010  09:13    <DIR>          Гуцул Каліпсо
               3 File(s)            615 bytes
               4 Dir(s)  11 576 438 784 bytes free

D:\temp\1>rmdir Rún

D:\temp\1>dir
 Volume in drive D has no label.
 Volume Serial Number is 8C33-61BF

 Directory of D:\temp\1

02.02.2010  09:56    <DIR>          .
02.02.2010  09:56    <DIR>          ..
02.02.2010  09:32               508 1.txt
02.02.2010  09:28                12 delete.bat
02.02.2010  09:20                95 delete.cmd
02.02.2010  09:13    <DIR>          Гуцул Каліпсо
               3 File(s)            615 bytes
               3 Dir(s)  11 576 438 784 bytes free

Dann habe ich die gleichen rmdir Befehle im batch-Skript, und speichern Sie Sie in UTF-8-Codierung. Aber wenn ich Laufe passiert nichts, buchstäblich nichts: nicht einmal echo Werke von batch-Skript in diesem Fall. Auch das sichern-Skript in OEM-Codierung nicht helfen.

So scheint es, dass wenn ich auf Zeichensatz UTF-8 in der Konsole, Skripts einfach aufhören zu arbeiten. Weiß jemand, wie man dieses Problem beheben?

  • Nachdenken und schreiben eine tatsächliche bald Antworten, aber zwei Fragen: bist du sicher, dass deine batch-Datei nicht haben, U+FEFF am Anfang? Und können Sie VBScript verwenden vielleicht anstelle einer batch-Datei? Unicode-Unterstützung ist es viel einfacher dort.
  • Nein, es ist keine Stückliste in der batch-Datei. Ich kann die Verwendung von VBS, aber ich wollte nur wissen, ob mein problem gelöst werden kann direkt.
  • Vielleicht kann es; ich habe einige Fortschritte gemacht, vor einer Weile mit Unicode in batch-Dateien, aber es ist keineswegs hübsch, und es war durchwachsen.
InformationsquelleAutor Andy | 2010-02-02
Schreibe einen Kommentar