当我使用set语句时,如何阻止我的批处理文件执行命令?

时间:2018-05-12 13:11:32

标签: batch-file

我正在尝试制作聊天机器人。

这是我的剧本:

:start
set /p message=
if %message%==Hello echo Hi!
goto start

但是,如果我尝试输入类似.. hello = world的内容,它会关闭。我该如何预防?

3 个答案:

答案 0 :(得分:1)

if /i "%message%"=="Hello world" echo Hi!

引用比较运算符的两侧。请注意,/i使测试不区分大小写。

答案 1 :(得分:1)

如果您要测试邮件是否以.slider-container { left: 4.5em; right: 4.5em; position: fixed; top: 4.5em; height: calc(100vh - 9em); } .slider-container .table { display: table; height: inherit; width: 100%; } .slider-container .table .row { display: table-row; width: 100%; height: inherit; vertical-align: middle; text-align: center; } .slider-container .table .row .padding-cell { display: table-cell; height: inherit; width: 1.5em; } .slider-container .table .row .cell { display: table-cell; height: inherit; vertical-align: middle; } .slider-container .table .row .cell img { max-height: 100%; max-width: 100%; } 开头,请测试hello

%message:~0,5%

通过输入@echo off :start cls set /p "message=type something: " if /i "%message:~0,5%"=="Hello" echo Hi! goto start ,它会检测字符0 - 5为hello worldhello使其不区分大小写,如 @magoo

答案 2 :(得分:1)

你的问题已经由Magoo简洁地回答了,这只是一个示例,用于显示检测输入字符串是否包含不区分大小写的字符串hello的方法:

If /I Not "%message%"=="%message:hello=%" Echo Hi!