よくあるのは、 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 空 なら安全です。