目的
ローカル環境で開発をする際、いちいちpowershellを開いてディレクトリ移動してコマンドを打つのが面倒なので、batファイルを実行するだけでvagrantが起動したりシャットダウンするようにしたい。
環境
OS:windows10
起動版batファイル作成
start.bat
cd (vagrantファイルのあるディレクトリ)
vagrant up
batファイルを実行するだけでコマンドプロンプトが立ち上がり、vagrantが起動するようになりました。
ちなみに最終行の先頭にcmd /kを記述すると、コマンドプロンプトが自動で閉じなくなります。
終了版batファイル作成
close.bat
cd (vagrantファイルのあるディレクトリ)
vagrant halt
これで単純だけど少しめんどくさい作業を自動化することができました。
少し機能追加してみる
vagrantの起動や終了のみでもよいのですが、ついでなので起動時によく使うアプリも自動で立ち上げてくれるようにし、終了時には使っていたアプリを閉じるようにしてみます。
起動版
起動にはstartかcallを使います。
start.bat
cd (vagrantファイルのあるディレクトリ)
vagrant up
start (起動させたいアプリ)
# call (起動させたいアプリ)
終了版
終了版はタスクリストから終了したいアプリを検索し、
アプリが起動していたときのみtaskkillを実行させるようにします。
close.bat
tasklist | find (終了したいアプリ`rgb(255,0,0)`) > NUL
if not errorlevel 1 (
taskkill /IM (終了したいアプリ)
)
cd (vagrantファイルのあるディレクトリ)
vagrant halt
おまけ(windows起動時にvagrantも立ち上げる場合)
作成したbatファイルをスタートアップフォルダに入れるだけでwindows起動時に実行してくれます。
スタートアップフォルダはwindowsキー+Rを押して「shell:startup」と検索すれば出てきます。