как изменить значение аргументов в пакетном скрипте - PullRequest
1 голос
/ 20 марта 2012

Я пытался использовать приведенный ниже код для установки значений по умолчанию в% 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
)'

1 Ответ

2 голосов
/ 20 марта 2012

Я подозреваю, что переменные командной строки (например,% 1,% 2, используемые в качестве их подстановок) не могут быть изменены.Вместо этого используйте промежуточные переменные:

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

 set var1=%1
 set var2=%2

:CREATE
...