バッチ引数、FOR引数の有無を判定する。
よくあるのは、
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 空
なら安全です。