2

===== CMD バッチファイル=====

variable=="string" をチェックしてから、メッセージをエコーし​​てプログラムを実行しようとしています。それ以外の場合は、出口 1 を終了する必要があります。

私はすでに多くのことを試し、Google を使用しましたが、構文エラーと現時点で予期しないエラーが継続的に発生するようです。CMD はかなり古くて強力ですが、トラブルシューティングに本当に苦労しています。

だから私が理解しようとしているのは、ブラケットまたは構造のどこが悪いのかということです.

私の構造は次のようになります:

echo off
if "%1"=="imre" goto imre (
echo found parameter "%1"
) else if NOT %1=="imre" echo you failed

機能していません。私は得る

(予想外だった

これを微調整しようとすると、その他の構文エラーが発生します...

私が欲しいのは:(これは私が書いたものですが、機能していません)

if %variable%=="hello" (
echo hello is correct 
echo now lets start this program 
start /w excel.exe
) else (
exit 1
)

これは機能しません。何が間違っているのかわかりません。これは達成しようとしているCMDバッチです

4

2 に答える 2

0

%variable%変数に実際に含まれている"hello"か、または単に含まれていますhelloか?

パラメータに引用符がない場合は、これを使用する必要があります。

if "%variable%"=="hello" (
    echo hello is correct 
    echo now lets start this program 
    start /w excel.exe
) else (
    exit 1
)

このように に渡すと、実際には を比較していHelloます。%variable%"hello" == "hello"

于 2012-07-05T18:39:09.470 に答える
0

Yes, your quotes are inconsistent. But I believe goto is causing the issue, since it comes ahead of the rest of what you want to do.

Try this:

echo off
if "%1"=="imre" (
echo found parameter "%1"
goto imre 
) else if NOT "%1"=="imre" echo you failed
于 2012-07-05T18:43:48.830 に答える