2013-03-18 4 views
0

У меня есть пакетный файл, который работает следующим образом:Batch: Сравнение параметров командной строки

c:\test.bt -abcd 

Теперь внутри пакетного файла, у меня есть следующий код:

if "%1" == "-abcd" 
(
    do something 
) 
else 
(
    do something else 
) 

но продолжает давать мне следующая ошибка в исполнении:

The syntax of the command is incorrect. 
if "-abcd" == "-abcd" 

Может кто-нибудь, пожалуйста, скажите мне, что происходит не так?

ответ

1

я считаю, что скобка должны быть на одной линии ...

Из IF документации:

IF EXIST filename. (
    del filename. 
) ELSE (
    echo filename. missing. 
) 

Итак, изменить его вокруг:

if "%1" == "-abcd" (
    :: Do something 
) else (
    :: Do something 
) 

Также , вы должны, вероятно, изменить %1 на %~1, чтобы удалить любые кавычки заранее.

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