2012-03-20 25 views
1

デフォルト値を%1%2と%3に設定するために、以下のコードを使用しようとしましたが、それらを使用しようとすると予期しない動作が発生します。私は(それらの置換として使用して%1、%2など)コマンドライン変数を変更することを許可されていないと思われるバッチスクリプトで引数の値を変更する方法

'IF [%1]==[] (
     SET /P isDefault=Value Missing, do you want to use default values 1,1,10?[y/n] 
     IF %isDefault%==y (
      SET 1=1 
      SET 2=1 
      SET 3=10 
    GOTO :CREATE 
    ) 
:CREATE 
FOR /L %%A IN (%1,%2,%3) DO (
    netsh interface ipv4 add address "Local Area Connection 2" 169.254.89.%%A 255.255.0.0 
)' 

答えて

2

:2%3

スクリプトゼロです。代わりに、中間変数を使用してください:

IF .. 
     set var1=1 
     set var2=1 
     GOTO :CREATE 
)  

set var1=%1 
set var2=%2 

:CREATE 
+0

私は同じようなことを書いている途中です:)しかし、中間変数をECHOに渡すことに問題があります。 –

関連する問題