2012-03-20 99 views
1

我试图使用下面的代码将默认值设置为%1%2和%3,但是当我尝试使用它们时,出现意外的行为,%1,% 2和%3是零如何更改批处理脚本中的参数值

脚本:

'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

我怀疑的命令行的变量(如%1,%2使用作为其替代)不允许进行修改。而是使用中间变量:

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

set var1=%1 
set var2=%2 

:CREATE 
+0

我正在写类似的东西:),但无法让ECHO获得dos的中间变量。 – 2012-03-20 15:16:17