よくあるのは、 IF "%1"=="" ECHO 引数なし または、 IF "%~1"=="" ECHO 引数なし ですが、 どちらも上手く行かないケースがあるので、 SET TEST=%1 IF NOT DEFINED TEST ECHO 引数なし がお勧めです。 環境変数の部分文字列の有無(空)の判定も同様です。 IF "%AAA:~3%"=="" ECHO 空 のような判定は危険です。 SETLOCAL ENABLEDELAYEDEXPANSION IF "!AAA:~3!"=="" ECHO 空 または、 SETLOCAL ENABLEDELAYEDEXPANSION SET TEST=!AAA:~3! IF NOT DEFINED TEST ECHO 空 なら安全です。
![バッチ引数、FOR引数の有無を判定する。 - Windows Script Programming](https://cdn-ak-scissors.b.st-hatena.com/image/square/03b096f6c04dfa322532982e16dc3d5978abb730/height=288;version=1;width=512/http%3A%2F%2Fscripting.cocolog-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)