Windows ではなぜ set test = whatever が使えないのでしょうか?

Windows ではなぜ set test = whatever が使えないのでしょうか?

*.cmd スクリプトを使用してset "test = zzz"コマンド ラインで実行すると"echo %test%"、返される内容はzzz、予想どおり ではなく です%test%

何か案は?

答え1

コマンドの呼び出しはset実際には機能しますが、期待どおりには動作しません。

コマンドプロンプトは等号(=)の周りのスペースを文字どおりに扱います。その結果、コマンドシーケンス

set test = zzz
echo %test%
echo %test %

次のように出力されます。

%test%
 zzz

変数testが設定されていないため、%test%置き換えられません。

答え2

等号の前後にスペースを入れることはできません。代わりに以下を試してください:

 set test=zzz
 echo %test%

答え3

スペースを省略する必要があります

私が使用したのは:

set "test=zzz"

そして私がecho %test%それを使用したときzzz

関連情報