Ich arbeite mit Batch-Dateien in Windows, mit Notepad und Notepad ++. Wenn ich die Batch-Dateien ausführe, mit denen alle beginnen @echo off
, wird in der ersten Zeile (bei Ausführung auf zwei separaten Computern) das Lesen angezeigt ´╗┐@echo off
, und dann werden auch alle REM-Zeilen darunter angezeigt.
Ich habe versucht, die Codierung in Notepad ++ zu ändern, aber es wird behauptet, dass es sich bereits um UTF-8-Codierung handelt, was korrekt zu sein scheint.
Was muss ich tun, damit diese Dateien ordnungsgemäß ausgeführt werden?
Antworten:
Es sieht aus wie die DOS-ASCII-Codierung der Byte Order Mark für UTF-8
(0xEF 0xBB 0xBF)
: http://en.wikipedia.org/wiki/Byte_order_markVersuchen Sie in Notepad ++, es als "UTF-8 Without BOM" oder als einfaches ASCII-Format zu codieren. Ich denke, die Verwendung von BOM für UTF-8 wird aus diesem Grund abgeraten, es ist nicht genau abwärtskompatibel mit ASCII.
quelle
>>> print u'\ufeff'.encode('utf8').decode('cp850') ´╗┐
╗┐
seit den Tagen von MS-DOS 5 / Windows 3.11 nicht mehr gesehen hatte. Modernes Windows muss Batch-Dateien mit dieser Kodierung ausführen, um Kompatibilität zu gewährleisten.Es hat sich herausgestellt, dass die ANSI- Codierung eingestellt sein muss, um ordnungsgemäß zu funktionieren. Um dies einzustellen, habe ich Encoding -> Encode in ANSI gewählt .
Um dies herauszufinden, habe ich versucht, eine Batch-Datei über die Befehlszeile zu erstellen.
Ich öffnete diese Datei dann in Notepad ++ und überprüfte die Codierung in der unteren rechten Ecke, die ANSI als UTF-8 lautete . Ich weiß nicht, warum es das letzte bisschen hinzufügt, aber es scheint jetzt zu funktionieren.
quelle