.batが使えないときに確認すべきこと

.batファイル動かないよ~と言われても自分の環境では動くので、説明に困る。
これを見ろ!と言うために.batファイルを使うときに気をつけるべきことを書いておきます。

ファイルが格納されているパスに、全角/半角スペースが含まれていないか

.batファイルに限らず、.exeとかも全角/半角スペースが含まれないパスに格納し、実行する方が無難
(海外産プログラムは、全角とか含まれると正常に動かないことはざらにある)

✗:C:\bat\てすと1\test1.bat → 全角が含まれる
✗:C:\bat\test 1\test1.bat → 半角スペースが含まれる
○:C:\bat\test_1\test1.bat → 全角/半角スペースが含まれない

環境変数(PATH)を見直す

ファイルをダウンロードするために使うbitsadmin.exe(C:\Windows\System32)など、Windowsに元々ある機能を.batファイルから呼び出そうとした際、環境変数を設定しないと正しく動かないことがある。
※環境変数は上から順番に読み込まれるため、設定順に注意

予め呼び出したいプログラムが格納されているパスを環境変数(Path)に設定しておくと、コマンドプロンプトでフルパスを指定せずにプログラム名を指定するだけで起動できる。
環境変数設定前 → C:\Windows\System32\bitsadmin.exe /?
環境変数設定後 → bitsadmin.exe /?

環境変数(PATH)に正しく設定されている場合
環境変数(PATH)に正しく設定されていない場合
(操作可能なプログラムまたはバッチファイルとして認識されていません)

参考:環境変数(Path)設定方法 (※Windows10の場合)

左下のWindowsボタンを右クリック
→ システム(Y) → 詳細情報 → システムの詳細設定
→ システムのプロパティ(詳細設定) → 環境変数(N)…
→ 環境変数 → システム環境変数(S)「Path」をダブルクリック
→ 環境変数名の編集 → 新規(N) → 設定値を入力

システム(Y)→詳細情報→システムの詳細設定
システムのプロパティ(詳細設定)→環境変数(N)…
環境変数→システム環境変数(S)「Path」をダブルクリック
環境変数名の編集→新規(N)→設定値を入力

エンコードを見直す

zip形式で配布して解凍(展開)したときに、本来の文字エンコードと異なる文字エンコードで保存されてしまうことがある。
その場合、コマンドプロンプト上に文字化けとして現れることがある。
(githubから.batをダウンロードしたときとかも、エンコードが正しく展開サれないらしい)
エンコードを正しく設定すると、文字化けが解消される。

文字コードが対応していないと表示がバグる(文字コード「UTF-8」の場合)
表示がバグったときは、文字コードを「ANSI」にする
文字コードを対応したものに戻した場合、正しく表示される(文字コード「ANSI」の場合)


なんかあったら書き足します

この記事が気に入ったらサポートをしてみませんか?