2017-09-10 19 views
0

引数に '='記号があると、その引数を2つに分割しているようです。すなわち、私はバッチファイルa.bat持っている場合:バッチファイルのコマンドライン引数

echo %1 
echo %2 

をして使用してそれを呼び出す:

a 1=2 

をそれが結果として得られます:

1 
2 

私はそれを与えたいと思う一方で:

第1引数では1 = 2です。

"1 = 2"の前後に引用符を付けると、引用符が%1に保持されます。

%= 1に1 = 2をどうやって得るか考えてみませんか?

+0

よく半分私のコメントは以下のように消えたのですが、それはなぜですか? – Arthur

+0

は今削除された回答のコメントであったためです。 – Stephan

答えて

1

引数から周囲の引用符を削除するには、~を含めます。

echo %~1 
+0

引数に引用符が付きません:引数1は1 = 2、%1に入るようにします – Arthur

+0

"1 = 2"を引用符で囲んだ場合、それは機能します。 '〜'は引用符を削除し、 '%1'は' '1 = 2''ではなく' '1 = 2''を保持します。 – SomethingDark

+0

あなたはポイントを見落としていません、ユーザーは引用符でバッチファイルを呼び出さない、ユーザーは1 = 2でそれを呼び出すでしょう。それをバッチファイルで正しく解釈するのは私の仕事です。 – Arthur

関連する問題