batch-file - 批处理 - If, ElseIf, Else

标签 batch-file if-statement

这段代码有什么问题?

IF "%language%" == "de" (
    goto languageDE
) ELSE (
    IF "%language%" == "en" (
    goto languageEN
) ELSE (
    echo Not found.
)

我不是很擅长批处理..

最佳答案

@echo off
title Test

echo Select a language. (de/en)
set /p language=

IF /i "%language%"=="de" goto languageDE
IF /i "%language%"=="en" goto languageEN

echo Not found.
goto commonexit

:languageDE
echo German
goto commonexit

:languageEN
echo English
goto commonexit

:commonexit
pause

关键是批处理只是继续逐行执行指令,直到到达 goto , exit或文件结尾。它没有sections的概念来控制流量。

因此,输入 de会跳转到 :languagede然后继续执行指令直到文件结束,显示 de然后 en然后 not found .

关于batch-file - 批处理 - If, ElseIf, Else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25384358/

相关文章:

windows - 在 Apache Spark 中通过管道运行 Windows 批处理文件

python - 批量错误重定向到文件

javascript - 简短的 Javascript 程序问题(错误输出)

python - 自己制作的游戏。 Game Over 后不执行 Else 分支

java - Java 6 中 if/or 与 try/catch 的复合成本

loops - 即使使用 EnableDelayedExpansion,%time% 也不会在 for 循环中扩展

batch-file - 批处理 - 评估名称中带有参数的动态变量

batch-file - 用于删除目录中除指定列表之外的所有文件夹的批处理文件

java - 字符串数组[0]不通过if

php - 如果语句条件不满足,不返回错误?