ループさせるとかなら変数の初期化をするのがいい set InputPath= (これでInputPathは未定義となる) if not defiend InputPath echo msg=空欄だよ まあ未定義なら if "%InputPath%"=="" ( set msg=空欄だよ のままでちゃんと「空欄だよ」となるはずだから直す必要は無いけど
それと set InputPath=%InputPath:"=% → set "InputPath=%InputPath:"=%" としないと、入力に a&b などと入れられると問題となる