バッチの絶対パスの書き方・
パスの通し方2つ

2021-03-31

バッチやコマンドで特定のアプリを開きたいとき、「アプリ名.exe」「start アプリ名.exe」などと書くだけで起動できるアプリもあれば、起動できないアプリもあります。

この違いの1つに「PATH」があります。

ここでは、バッチで任意のアプリを開きたい時に覚えておきたい、パスの書き方・パスの通し方を解説しています。

\項目をタップするとジャンプできます/

環境変数「PATH」とは

「start アプリ名.exe」でアプリを起動できるのは、アプリのパスが環境変数「PATH」に登録されているためです。

環境変数「PATH」は、コマンドでアプリ起動などをしやすくするために、よく使うアプリのパス(=アプリが存在する場所)を登録しておける仕組みです。

PATHに場所が登録されているアプリは「start アプリ名.exe」のようにアプリ名を指定するだけで、アプリを起動させる事ができます。

逆に、PATHにパスが登録されていないアプリは、この書き方では開く事はできません。

「PATH」でのパスの通し方

ここからは、バッチ初心者の私でも間違わずにできた、環境変数「PATH」にアプリのパスを登録する手順を見ていきます。

まずはパスを通したいアプリを右クリックして「プロパティ」をクリック、「場所:」部分を全て選択してコピーします。

「F3」などで検索窓を呼び出して「環境変数」と入力、「環境変数を編集」が候補に出てくるのでクリックします。

「ユーザー環境変数(U)」にある「PATH」を選択して「編集」ボタンをクリック。

「ユーザー変数の編集」ウィンドウが開くので、「変数値(V)」の欄を選択します。

ここにすでに何か入力されている場合は、最後尾を見て「;」がなければ入力します。※「;」はパスの区切りを表します。

あとは、後ろにさっきコピーしたパスを貼り付け。

末尾に「\」がなければ、忘れずに追記します。

あとは「OK」を押して「ユーザー変数の編集」ウィンドウを閉じて、もう一度「OK」を押して「環境変数」のウィンドウを閉じれば完了です!

バッチ内で一時的に
「PATH」を通す

環境変数を触るのがこわい、という場合は、バッチ内で一時的にPATHを通す事もできます。

コードはこちら。

HTML

echo off
set PATH=%PATH%;アプリのパス;
start アプリ.exe
exit /b

「アプリのパス」の部分を、開きたいアプリのパスに置き換えます。

パスを調べたいアプリファイルを右クリックして、「プロパティ」をクリック。

「場所:」部分に表示されているテキストを、全て選択してコピー。

これを上記の「アプリのパス」部分と置き換えて、末尾に「\」がなければ追記します。

この方法の注意点は、バッチファイルの「文字コード(エンコード)」をしっかり「shift-JIS」にすること。

「UTF-8」ではパスのどこかに日本語がある場合、正常に動作しません。

また、この場合はバッチの動作が終了するとPATH設定も消えるので、何度もバッチで使うアプリなら、環境変数でPATHを通しておいたほうが記述が少なくてすみます。

絶対パスで指定する

パスを通すなんてまどろっこしい!

という場合は、アプリを絶対パスで指定する事もできます。


echo off
"C:\アプリのパス\アプリ名.exe"
exit /b

「C:\~\アプリ.exe」の部分には、アプリのフルパス(絶対パス)を記述します。

アプリの絶対パスは、開きたいアプリを右クリックして「プロパティ」を開き、「場所」をコピーして「\アプリ名.exe」などとアプリ名を追記すればOKです。

パスを「""」で囲むことで、パスの中に半角スペースがあっても正常に動作します。

ただ、絶対パスでの指定では「start」が使えないので、「call」での起動のように、呼び出したアプリを終了させるまで次の動作に進みません。

バッチの絶対パスの書き方
パスの通し方・余談

環境変数でパスを通しておくと、何度も同じパスを書く手間を省くことができます。

よく使うアプリなら、環境変数に登録しておくのがおすすめ。

一方、あまり使わない・環境変数にあまりパスを追加したくない場合は、バッチ内で一時的にパスを通すのも有効です。

絶対パスで指定する場合は「start」が使えないので、「start」で起動させたい場合は、環境変数かバッチ内でパスを通すようにしましょう。

SHARE

このサイトについて

「Web Work Plus」はWEB制作・ビジネスのちょい足し情報メデイアです。ちょっとしたハテナをプラスに変える役立つ備忘録を発信中!