如何为choice参数添加多个if else条件?

问题描述 投票:-2回答:2

我有选择参数的以下值:

名称:帕拉姆 选择:

  • 测试1
  • TEST2

和一个执行Windows批处理命令:

if (%Param% == "Test1") (
echo "1"
) else if (%Param% == "Test2") (
echo "2"
) else (
echo "3"
) ---is not working

if (%Param% == "Test1") (
echo "1"
) else ( if (%Param% == "Test2") (
echo "2") else (
echo "3"
)
) ---is not working
windows batch-file
2个回答
0
投票
set "Param=Test2"

if "%Param%" == "Test1" (
    echo "1"
) else if "%Param%" == "Test2" (
    echo "2"
) else (
    echo "3"
)

几乎在第一个例子中有它。您没有将比较封装在批处理文件中的()之间进行测试。

比较是字面意义的,因此一方面需要匹配另一方。这包括双引号。因此,没有引号的变量可能要求它们匹配,例如"%Param%" == "Test1"%Param% == "Test1"在上面的例子中永远不会匹配,因为%Param%的值没有双引号。


-2
投票

您的固定批处理文件应如下所示:

if "%Param%" == "Test1" (
    echo "1"
) else (
    if "%Param%" == "Test2" (
        echo "2"
    ) else (
        echo "3"
    )
)

if "%Param%" == "Test1" (
    echo "1"
) else (
    if "%Param%" == "Test2" (
        echo "2"
    ) else (
        echo "3"
    )
)

所以...这两个if声明,如果扩展完全相同,不确定你想做什么。

注意:

  • 括号(())和双引号("")包含在比较中,所以我删除它们并双引两个字符串。
  • 我还扩展了你的if声明,以使它们更清晰,你看到 - 它们是相同的。
© www.soinside.com 2019 - 2024. All rights reserved.