2
私は(変数設定と同じ行でそれをエコー)は、Windows 10の64ビットに新しいですし、プロンプトコマンドを起動して、次のように入力します。同じ行のECHOコマンドでSETが保持されないのはなぜですか?
H:\>set a="hello" & echo %a%
%a%
H:\>set a="hello" & echo %a%
"hello"
は、なぜ私は「ハロー」私はエコー初めて表示されませんそれとも?
これが基本的な質問であれば、私は答えをオンラインで見つけられなかったようです。であるとして(a
が存在していなかったので、文字列"%a%"
を)最初の実行%a%
が渡されますので上の行は、set
コマンドの前に評価されますので、
最初の行は 'echo'のあとに' a'をクリアしません。 'set a =" hello "&echo%a%&を設定して" a = "'を設定して検証してみてください。 – dxiv
コマンドプロンプトを起動し、これら3つの区切り行を入力します。 '' set a = "one"&echo%a% '、' set a = "two"&echo%a% '、' set a = "three"&echo %a% '次に、「遅延拡張」と%正常拡大%の差を探してください。 – Aacini
関連:[バッチファイルの遅延展開の例](0120-18753) – aschipfl