私が質問したように、私のdosバッチファイルのコマンドとして入力引数を実行しています: Run an input parameter as command in dos batch script。 それは動作しますが、私が抱えている問題:入力コマンドが空であるかどうかを確認してください。 私は何を:dosバッチファイルの入力コマンドを確認していますか?
SETLOCAL
set CMD=%*
echo Running command [%CMD%]
IF "%CMD%"=="" (
echo "Input argument missing: command"
GOTO :end
)
echo "XXX %CMD%"
し、実行:
script.bat echo "a b c"
ウィル出力:
Running command [echo "a b c"]
b was unexpected at this time.
これは、IF条件で発生しますが、なぜですか?
入力が空であるかどうかを確認する方法を教えてください。 DOSで文字列が空であるかどうかを確認する方法を知っていますが、何らかの理由でこの組み合わせでは機能しません:(
BTW:IF条件を削除すると正常に実行されます。最初のパラメータが存在しないこと
- エド
+1、いつも正しいです。しかし、私は ''%〜1 "==" "'それがほとんど安全だとすると好きです。 – jeb
ありがとう、私は難しいと思っていた:( – edbras
@jeb:ありがとう、 "%1" == "" 'しかし、何らかの理由で最初のパラメータが単純に '' ''(2番目のパラメータは空ではない値)であれば誤解を招く可能性があります。 ''% '==。' 'のテストには行こうと思っていました。 –