社内のチームでgradleを使いたいと思ったが、前提としてJavaが入っている必要がある。
課題として、作成したバッチが各自の環境で使えるのか(=javaコマンドが使えるか)手作業でチェックしてもらうにも手間がかかるのをどうにかしたい。
そこで、Windowsに標準のコマンドを利用して最低限javaが使えるかを確認する方法をワンライン調べる方法がこちら。
where java || echo javaが使えないお
または
where java && echo javaが使えなるぜ!
whereコマンドは、Windows Vista/Windows Server 2008以降で標準で使えるコマンドなので、よほど古いWindowsを使ってない限り使えるコマンドとみていいと思う。
参考:whereコマンドでファイルを探す - atmarkit
http://www.atmarkit.co.jp/fwin2k/win2ktips/1151where/where.html
whereコマンドは該当のファイルがPATH環境変数で指定されているフォルダ群から見つかるか探索してくれ、見つかればプロセスの戻り値(ERRORLEVEL)として0を返し、見つからなければ1を返す。
この戻り値をパイプ記号x2「||」で失敗時に次のコマンドを実行するようにつなぐことで分岐処理として使えます。
実際のところ、これだけでは何も役に立たないし手間なのでバッチ化するとこんな感じ。
@echo off
rem コマンドチェック
where java 2> nul > nul || goto :notfound
echo javaコマンドが実行できるぜ!
java -version
goto :end
:notfound
echo javaコマンドが実行できない環境なのさ!
echo Javaのインストール方法:
echo 1.かくかく
echo 2.しかじか
goto :end
:end
pause
例ではjavaでしたが、whereコマンドで探索できるファイル(exeに限らない)なら何にでも応用が効きます。