如何在CMD中IF检查并执行其他多项操作



===== 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

最新更新