質問: お世話になります。 Windows10で、以下のようなコマンドを書いたテキストファイルを、「comand.bat」としてUTF-8形式で保存しました。 ``` echo off chcp 65001 echo スタート:新宿 echo ↓ echo ゴール:東京 pause ``` このcomand.batファイルをダブルクリックして実行すると、「スタート:新宿」という文字列は正しく表示されますが、「ゴール:東京」という文字列が以下のようにコマンドと認識されてしまいます。 ``` '��:東京' is not recognized as an internal or external command, operable program or batch file. ``` どうしてコマンドとして認識されてしまうのか教えてください。 補足: 「echo ↓」を行わなければコマンドとして認識されないことを確認しています。 また、「echo ↓ 」のように、矢印の後に半角スペースを入れることでコマンドとして認識されなくなることも確認しています。 しかし、なぜこのようになるのかがわかりません・・・ 補足2: cubickさんからのコメントを受けて、文字列をダブルクォートでくくってみたところ、正常に表示されました。 ただし、echoされる文にはダブルクォートが表示されます。(以下、表示例) ``` "スタート:新宿" "↓" "ゴール:東京" ```
回答: おそらく改行コードがLFになっているためだと思います。CRLFであれば問題ないようです。 調査された方がいました。 miauのブログ - 改行コード LF で日本語を含むバッチファイルの動作がおかしい件