===== CMD 批处理文件=====
我正在尝试检查变量==“字符串”,然后回显消息并运行程序,否则它必须退出 exit 1(如果有其他情况甚至为空)。
我已经尝试了很多并使用了Google,但我似乎不断收到语法错误和意外的此时错误,CMD 确实很难排除故障,尽管它相当古老但功能强大。
所以我想了解的是我的括号或结构有什么问题,因为它告诉我(是意外的或语法错误或不是预期的......烦人。
我的结构如下:
echo off
if "%1"=="imre" goto imre (
echo found parameter "%1"
) else if NOT %1=="imre" echo you failed
只是不工作;我明白了
(没想到
如果我尝试调整这个,还会出现其他语法错误...
我想要的是:(这是我写的,但它不起作用)
if %variable%=="hello" (
echo hello is correct
echo now lets start this program
start /w excel.exe
) else (
exit 1
)
这不起作用,我不明白我做错了什么。 这是我正在努力实现的 CMD Batch
你的
%variable%
变量实际上包含 "hello"
还是仅仅包含 hello
?
如果你的参数没有引号,你应该使用这个:
if "%variable%"=="hello" (
echo hello is correct
echo now lets start this program
start /w excel.exe
) else (
exit 1
)
这样,如果您将
Hello
传递到 %variable%
,您实际上是在比较 "hello" == "hello"
。
是的,您的报价不一致。但我相信 goto 导致了这个问题,因为它先于你想做的其他事情。
试试这个:
echo off
if "%1"=="imre" (
echo found parameter "%1"
goto imre
) else if NOT "%1"=="imre" echo you failed