LoginSignup
2
2

More than 5 years have passed since last update.

Windowsでコマンドが使えるかバッチ内で確認する

Posted at

社内のチームで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に限らない)なら何にでも応用が効きます。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2