バッチ ファイルで変数を定義して使用しようとしています。それは単純であるように見えます:
@echo off
set location = "bob"
echo We're working with "%location%"
私が得る出力は次のとおりです。
We're working with ""
何が起きてる?変数がエコーされないのはなぜですか?
バッチ ファイルで変数を定義して使用しようとしています。それは単純であるように見えます:
@echo off
set location = "bob"
echo We're working with "%location%"
私が得る出力は次のとおりです。
We're working with ""
何が起きてる?変数がエコーされないのはなぜですか?
の前のスペース=
は名前の一部として解釈され、後のスペース(および引用符)は値の一部として解釈されます。したがって、作成した変数は。で参照できます%location %
。それが必要でない場合は、定義内の余分なスペースを削除してください。
スペースは重要です。'location '
の値で名前が付けられた変数を作成しました
' "bob"'
。注-スペースの場所を示すために、一重引用符で囲むことが追加されました。
値に引用符が必要な場合、コードは次のようになります。
set location="bob"
引用符が必要ない場合、コードは次のようになります。
set location=bob
またはさらに良い
set "location=bob"
&
|
最後の構文は、不注意による末尾のスペースが値に入るのを防ぎ、などの特殊文字からも保護します。