Windowsを使っていて特定のアプリを立ち上げなくてはいけない場合、毎回そのアプリを手動で立ち上げるのが面倒になってくると思います。
実際自分も3つぐらいのアプリをそれぞれ立ち上げる状態を何度かやっていて「バッチファイルで自動起動させるようにした方が楽なのでは?」と思い、バッチファイルでのアプリ起動を色々調べました。
今回はその備忘録となります。
バッチファイル自体あまり自分が書いたことがないので色々と不足な部分もあるかと思いますが、詳細は参考資料に挙げたページ様を参照してください。
では始めます。
1:バッチファイルについて
すでにご存じかとは思いますが、軽くバッチファイルについて説明しておきます。
バッチファイルは拡張子が「.bat」で保存されているファイルです。
テキストエディタ等で開くと中身を確認できます。中身はコマンドプロンプトで実行できる形で記述されています。そしてこのファイルをダブルクリックすると中に記述されたコマンドが実行されます。
簡単に言うと「コマンドプロンプトで実行するコマンドをファイルとして保存しておき、ダブルクリックで自動起動できるようにしたもの」がバッチファイルになります。
2:バッチファイルで特定アプリの起動
では本題に入ります。
バッチファイルで特定アプリを起動させる方法は「call」と「start」の2つがあります。記述方法は以下の通りです。
call [起動したいアプリのパス] start [起動したいアプリのパス]
callは同一プロセスでの実行で「ひとつ前のcallアプリが終了するのを待ってから起動」、startは別プロセスでの実行で「前のアプリに関係なく起動」という違いがあります。
実際にこの2つの起動を比べてみます。以下の2つのサンプルをそれぞれ「call_test.bat」、「start_test.bat」としてそのファイルをダブルクリックして実行してみてください。
・call_test.bat
@echo off rem メモ帳を起動 call notepad.exe rem 電卓を起動 call calc.exe rem コマンドプロンプトを終了 exit /B 0
・start_test.bat
@echo off rem メモ帳を起動 start notepad.exe rem 電卓を起動 start calc.exe rem コマンドプロンプトを終了 exit /B 0
callの方はメモ帳を終了させた後に電卓が立ち上がりますが、startの方は両方立ち上がります。
3:バッチファイルで特定URLをブラウザで開く
アプリの実行だけなら2で説明した方法でわかりましたが、特定のURLをブラウザで開きたい場合もあるかと思います。その場合の記述は以下のように引数にURLを渡してあげれば自動的にそのURLを開くことができます。
・url_test.bat
@echo off rem Edge起動 start microsoft-edge:"https://time.is/ja/" rem chrome起動 start "C:\Program Files\Google\Chrome\Application\chrome.exe" "https://www.yahoo.co.jp/" rem コマンドプロンプトを終了 exit /B 0
上記のようにEdgeの場合は「microsoft-edge:」の後にURLの文字列を、chromeの場合はインストールされているexeまでのパスの文字列とその引数にURLの文字列を記述すれば開くことができます。
以上がバッチファイルで特定のアプリを自動起動させる方法です。
基本的にはstartかcallで特定のアプリの.exeファイルのパスを記述すれば開くことができます。
これを使えば割と色々なことが自動化できると思うので、使っていきたいですね。
・参考資料