Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理文件在>;1输入_Batch File - Fatal编程技术网

Batch file 批处理文件在>;1输入

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

我对编程相当陌生,但在过去我做过相当多的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 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" ...