2012-03-23 17 views
3

コマンドを解析する代わりに、呼び出し時に環境変数を評価するcmd.exeを実行したいとします。 BASEを2に設定してエコーした場合、このスクリプトを実行してもベースが正しく設定されませんが、番号2が表示されます。コマンドプロンプトの展開環境変数

予想される動作: C:\Users\schristo>cmd.exe /X /C "set BASE=2 && echo %BASE% && pause" 2 Press any key to continue . . .

実際の行動: C:\Users\schristo>cmd.exe /X /C "set BASE=2 && echo %BASE% && pause" %BASE% Press any key to continue . . .

答えて

5

これはあなたのために働く必要があります。

cmd.exe /X /V:ON /C "set BASE=2&&echo !BASE!&&pause"

/V:ONはあなたがここに必要なものである、変数の遅延拡張を可能にします。スイッチの順序(/V:ON /C)が重要です。

+0

私は/ V:ONと!BASE!部。 – Steve