【bat】文字コードについて

文字コードについて

bat(DOSコマンド)は通常、文字コード”Shift-JIS”で実行されます。
そのため、文字コード”UTF-8”等で作成したbatファイルは日本語が文字化けします。

BAT (Batchfile)
@echo off

rem UTF-8で保存して実行すると文字化けする。
echo "テスト"
echo "test"

pause
結果

"繝・せ繝・"
"test"

2019年のWindowsアップデート以降「メモ帳」アプリの文字コードは既定でUTF-8となります。
そのため、名前を付けて保存で”ANSI”(Shift-JIS)に変更する必要があります。
もしくは”UTF-8”等で実行されるよう指定すれば文字化けしません。

BAT (Batchfile)
@echo off

rem UTF-8で実行するよう指定すれば文字化けしない。
chcp 65001

echo "テスト"
echo "test"

pause
結果

Active code page: 65001
"テスト"
"test"
コード ページ識別子 - Win32 apps
次の表は、使用可能なコード ページ識別子を定義しています。