2012-02-23 12 views

答えて

7

期待どおりに動作します。
遅れ拡大は、実行時に変数を展開する時間を解析していないので、ENDLOCAL & SET S1=!S2!
endlocal
としてあなたの行を解釈しかし、それはもう拡張することはできませんのでSET S1=!S2!の一部で遅延拡張がオフになっています。あなたのケースでは

あなたは感嘆符として ENDLOCAL & SET S1=%S2%

を使用することができS2が遅れるEXPとして、「安全」です。実行の瞬間にオフになっています。

しかし、常に安全な復帰は少し複雑です。
私たちはそれについて議論しました。Dostips: Return ANY string across ENDLOCAL boundry

+0

+1よく言っています... – Aacini

関連する問題