2014-10-06 4 views
0

У меня довольно простой скрипт, но по какой-то причине условное не работает, как я ожидал:Условный не проходит в пакетном сценарии

SET RIG=%1 
IF /I RIG==Polar (
    SET SQLSERVER=SQL01 
    SET MONITOR=SQL02 
    SET TESTSETTING="test" 
    SET TESTCONTAINER="test2 
) ELSE ( 
    ECHO Your input was %1. 
) 

Когда я прохожу следующую команду: testrun.bat Polar Я получаю ECHO заявление возвращаемого: Your input was Polar. "

Я пытался поставить %1 котировок, баловаться с тем, как скобками раскладывает, и я рассмотрел синтаксис ss64.com в порционном сценарии IF заявления, но я просто не может определить этот вариант.

+1

Вам нужно '% RIG%', а не 'RIGNAME'. –

+0

Только что увидел это в ответе ниже. Я чувствую себя глупым, потому что я использую переменные в другом месте этого же скрипта. –

ответ

1

RIGNAME никогда не будет равен Polar

Теперь вы можете попробовать присвоение значения rigname, а не rig.

Даже тогда, yu'd нужно сравнить %rigname% к Polar, чтобы получить доступ к content из rigname, а не строки RIGNAME.

+0

Святое дерьмо. Я использую переменные повсюду в другом месте этого же скрипта, но почему-то это пропустил. Большое спасибо. Это имеет смысл. Кроме того, Rigname/Rig была просто опечаткой с моей стороны, написав это. Я исправлю это в вопросе. –

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