Batch file 批处理文件在>;1输入
我对编程相当陌生,但在过去我做过相当多的Web开发。我对我的第一个程序有了一点想法,它包括一个命令提示符UI,在关闭了一些我个人不喜欢的后台任务后,询问您是否要关闭程序 以下是迄今为止的代码:Batch file 批处理文件在>;1输入,batch-file,Batch File,我对编程相当陌生,但在过去我做过相当多的Web开发。我对我的第一个程序有了一点想法,它包括一个命令提示符UI,在关闭了一些我个人不喜欢的后台任务后,询问您是否要关闭程序 以下是迄今为止的代码: :start set /p "cho=>" if %cho%==Y goto yes if %cho%==y goto yes if %cho%==n goto eof if %cho%==N goto eof :yes echo If you need help type "hlp". If y
:start
set /p "cho=>"
if %cho%==Y goto yes
if %cho%==y goto yes
if %cho%==n goto eof
if %cho%==N goto eof
:yes
echo If you need help type "hlp". If you don't type "cont". To close type
"end"
set /p "yesInput=>"
if %yesInput%=hlp goto hlp
if %yesInput%=cont goto cont
if %yesInput%=end goto end
:hlp
TASKLIST
echo To Return type "cont"
set /p "hlpInput"
if %hlpInput%=cont goto cont
if else echo Error
:cont
:end
goto eof
编辑:后台任务是GoogleCrashHandler64和GoogleCrashHandler
if %yesInput%=hlp goto hlp
比较运算符是=
,而不是=
(重复多次)
(顺便说一句,if/i…表示不区分大小写)
将此命令与其他set/p
命令进行比较
if else echo Error
我想你的意图是“否则”。如果之前的测试成功,将按照指示将执行转移到标签上。因此,如果我们重新调用此指令,则必须具有“否则”的条件,因此无需对其进行测试
if
在批处理中非常简单。它不像一个案例
语句。在提示中,查看是否/?`以获取文档。一般格式为
如果布尔条件(dothis)否则(dothat)
其中,只有当存在else
条件或这是多行指令(称为代码块
)时,才需要括号。此外,开头的(
必须与if
和位于同一物理行上),否则(
必须位于同一物理行上
当您测试键盘输入时,用户可能会输入一个包含空格或逗号的字符串。因此,使用该语法更安全(但并非万无一失)
if "string"=="another string" ...
因为引号导致值被解释为单个“标记”
请注意,批处理siply连续执行指令,直到到达转到
或文件结束(但可以通过调用
)为止。标签只是标记-它们不表示“过程结束”与其他一些语言一样,其结果是,除非插入特定的goto
指令,否则批处理只需遍历标签并执行找到的任何指令
特殊说明
goto:eof
将转到文件末尾。请注意,此处需要冒号。非常感谢您的帮助,而不是批评。Batch是SO丛林中非常文明的区域。
if "string"=="another string" ...