バッチファイルのエラー ( の使い方が誤っています。について

バッチファイル

エラーが発生するサンプルコード

私は、バッチファイルにおいて引数が空文字列かどうかを判定する処理を記述する際に、よくこのエラーを発生させていました。

@echo off

rem 引数1の値をチェック
IF "%1"=="" (
    echo arg1 is not set.
) ELSE (
    echo arg1 : %1
)

エラーの原因

バッチファイルの引数をIF文で判定する際、引数%1をダブルクォーテーションで囲っていなかったのが原因です。

(修正前)IF %1==””
(修正後)IF “%1”==””

修正後のサンプルコード

修正版では、引数 %1 をダブルクォーテーションで囲うようにしました。このようにすることで、本記事のタイトルのエラーが発生することなく処理が行われるようになります。

@echo off

rem 引数1の値をチェック
IF "%1"=="" (
    echo arg1 is not set.
) ELSE (
    echo arg1 : %1
)

タイトルとURLをコピーしました