Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.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 为什么在批处理/DOS(或任何语言)中,REM会起作用?_Batch File_Dos_Batch Processing - Fatal编程技术网

Batch file 为什么在批处理/DOS(或任何语言)中,REM会起作用?

Batch file 为什么在批处理/DOS(或任何语言)中,REM会起作用?,batch-file,dos,batch-processing,Batch File,Dos,Batch Processing,为什么在批处理/DOS或任何语言中,为了避免这个陷阱,强制CommandBlock2成功,即使用简单的REM作为最后一个块命令:Command1&&CommandBlock2&REM | | CommandBlock3可以工作? 我的问题是为什么添加注释会改变条件执行?已经给出了答案 关于有条件执行的文章解释说: 组合操作员时要小心,即: 命令1和命令块2 | |命令块3 如果Command1失败,则将跳过CommandBlock2并执行CommandBlock3。 如果Command1成功,则

为什么在批处理/DOS或任何语言中,为了避免这个陷阱,强制CommandBlock2成功,即使用简单的REM作为最后一个块命令:Command1&&CommandBlock2&REM | | CommandBlock3可以工作? 我的问题是为什么添加注释会改变条件执行?

已经给出了答案

关于有条件执行的文章解释说:

组合操作员时要小心,即: 命令1和命令块2 | |命令块3

如果Command1失败,则将跳过CommandBlock2并执行CommandBlock3。 如果Command1成功,则将执行CommandBlock2。 如果Command2失败,那么CommandBlock3也将被执行!! 为避免此陷阱,强制CommandBlock2成功,即使用简单的REM作为最后一个block命令: Command1和CommandBlock2&REM | | CommandBlock3

或:

命令1& 命令块2 快速眼动部队的成功 || 命令块3

这是从这里开始的:解释得很好:`如果Command1失败,那么CommandBlock2将被跳过,CommandBlock3将被执行。如果Command1成功,则将执行CommandBlock2。如果Command2失败,那么CommandBlock3也将被执行`请注意:REM不会更改%ERRORLEVEL%。