批处理:比较命令行参数

时间:2013-03-18 10:02:59

标签: parameters batch-file

我有一个批处理文件,运行如下:

c:\test.bt -abcd

现在在批处理文件中,我有以下代码:

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

但它在执行中一直给我以下错误:

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

有人可以告诉我哪里出错了?

1 个答案:

答案 0 :(得分:1)

我确实认为括号需要在同一条线上......

来自IF文档:

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

所以,将其更改为:

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

此外,您应该将%1更改为%~1以预先删除任何引号。