我有一个批处理文件,允许用户输入内容,然后输入他们输入的内容并将其作为值,假设该值称为 %input%
。
我希望批处理文件检查 %input%
值中的某些字词,然后使用 goto
命令。
有人有任何解决方案吗?
感谢。
修改
以下是我正在使用的一些代码:
@echo off
title Test
:Loop
Set /p Input=""
if "%input%"=="word *" goto function
我只需要帮助确定如何在 "word"
值中检查 %input%
。
希望这能解决一些问题。
答案 0 :(得分:1)
Give a try for this code :
@echo off
:MainLoop
Color 0B
Cls
set /p "Input=Type something here "
echo %Input%|findstr /i "\<hello\>">nul && goto HelloFunction || goto NoHelloFunction
:HelloFunction
cls
Color 0A
echo I am into The Hello Function
pause
Goto MainLoop
:NoHelloFunction
cls
Color 0C
echo I am not into the Hello Function
pause
Goto MainLoop
Explanation
\<
and \>
means "Word boundaries", this avoids false positives (Helloo, Chello,...)
>nul
redirects the found string to nul to keep the screen clear.
&&
executes the set command only, if previous command (findstr)
was successful.
||
means else and goto to another function