2014-07-25 6 views
0

Извините, если я задаю очень глупый вопрос, но я немного ржав в написании простых пакетных скриптов, но у меня проблема. Я хотел написать сценарий, который изменит пароль локального администратора в зависимости от дня недели. Скрипт работает, но только запускает первый ярлык и пропускает инструкции IF, и я немного не уверен, что может быть проблемой.Использование операторов IF с переменными

FOR /F "skip=1" %%A IN ('WMIC Path Win32_LocalTime Get DayOfWeek') DO (
    set DOW=%%A 
) 

IF DOW == 0 goto SUN 
IF DOW == 1 goto MON 
IF DOW == 2 goto TUE 
IF DOW == 3 goto WED 
IF DOW == 4 goto THU 
IF DOW == 5 goto FRI 
IF DOW == 6 goto SAT 

:SUN 
net user admin Password0 
GOTO END 

:MON 
net user admin Password1 
GOTO END 

:TUE 
net user admin Password2 
GOTO END 

:WED 
net user admin Password3 
GOTO END 

:THU 
net user admin Password4 
GOTO END 

:FRI 
net user admin Password5 
GOTO END 

:SAT 
net user admin Password6 
GOTO END 

:END 

ответ

2

Для того, чтобы прочитать значение переменной внутри DOW, синтаксис %DOW%.

if %DOW%==0 goto SUN 
+0

Хороший момент, который вызывает другой вопрос. :) – foxidrive

0

Вы также можете использовать нижеследующее. Также обратите внимание, что вам нужно префикс метки с Colon (:), который, кажется, отсутствует в вашем коде.

if %DOW% EQU 0 goto :SUN 

Cheers, G

Смежные вопросы