NotepadとNotepad ++の両方を使用して、Windowsでバッチファイルを操作しています。すべてが@echo off
で始まるバッチファイルを実行すると、最初の行(2台のマシンで実行している場合)が´╗┐@echo off
を読み取り、次にすべてのREM =その下の行も表示されます。
Notepad ++でエンコードを変更しようとしましたが、すでにUTF-8エンコードであり、正しいようです。
これらのファイルを正しく実行するために何をする必要がありますか?
正しく動作させるには [〜#〜] ansi [〜#〜] エンコーディングに設定する必要があることがわかります。これを設定するために、Encoding->Encode in ANSIを選択しました。
これを理解するために、コマンドラインからバッチファイルを作成しようとしました。
echo @echo off > batch.bat
echo REM Some comment... >> batch.bat
echo echo Hello world! >> batch.bat
次に、このファイルをNotepad ++で開き、右下隅のエンコードを確認しました。これにより、ANSIがUTF-8として読み取られました。なぜそれが最後のビットを追加するのかはわかりませんが、今は機能しているようです。
DOS ASCII UTF-8のバイトオーダーマークのエンコーディングのようです(0xEF 0xBB 0xBF)
: http://en.wikipedia.org/wiki/Byte_order_mark
Notepad ++では、「BOMなしのUTF-8」またはプレーンASCIIとしてエンコードしてみてください。この理由から、UTF-8でのBOMの使用はお勧めできません。ASCIIとの正確な下位互換性はありません。