===== CMD 批处理文件=====
我正在尝试检查一个变量=="字符串",然后回显消息并运行程序,否则它必须退出退出 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批处理,我正在努力实现
您的%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