windows - 检查 BAT 文件中的特定字母
问题描述
我只是想找到正确的语法,让 BAT 文件检查特定字母,如果该字母不是有效选择,则出现错误。我的前三行代码有效,但是检查输入的字母是否不是 C 或 R 的语句只会使 BAT 文件退出,而不是出现我的错误。
IF /I "%input%"=="C" goto compile
IF /I "%input%"=="R" goto run
IF /I "%input%"=="" goto error
IF /I "%input%"!="C" goto error
IF /I "%input%"!="R" goto error
请问最后两行代码的正确语法是什么?
解决方案
正如另一位用户建议的那样,请查看CHOICE
https://ss64.com/nt/choice.html
要回答您的直接问题:
你需要使用NOT
运营商
IF /I NOT "%input%"=="C" goto error
或者
IF /I "%input%" NEQ "C" goto error
我认为你需要做的就是简单地用你的错误处理替换你的最后两行,然后goto end
如果你到了这一点,那就是一个错误。goto end
在您的:compile
和标签之前添加一个:run
以防止错误执行。
IF /I "%input%"=="C" goto compile
IF /I "%input%"=="R" goto run
:error
//handle your error...
goto end
:compile
//handle compile
goto end
:run
//handle run
:end
//handle end
以供参考:
推荐阅读
- php - Codeigniter join 会返回最后一个 id
- powerpoint - PowerPoint 中的动态文本框(不是 Excel 表格)
- r - 如何在 R 中为模型自动设置和添加功能?
- gruntjs - 使用 grunt-htmllint 强制执行 noopener noreferrer
- asp.net-mvc - 防止视觉工作室在视图中移动标签和大括号
- javascript - Webpack 和具有相对路径的字体
- python - 登录网站以使用 Python 访问数据
- c# - Entity Framework Core:在没有外部实体的情况下坚持一对多
- javascript - 尝试将数组项传递给 html 表单中的 getElementById() 选择选项
- python - Python csv.DictReader 内存不足