(call)与(call )命令在批处理中实际作用是什么?
批处理中(call)与(call )设置ErrorLevel的原理解析
你找到的这个利用call命令设置ErrorLevel的技巧确实很实用,示例代码整理如下:
@echo off echo errorlevel = 0 - space after call (call ) echo %errorlevel% echo errorlevel = 1 - no space after call (call) echo %errorlevel% pause
关于这两个命令的具体执行逻辑:
(call ):括号是批处理的命令分组语法,call后的空格相当于指定了一个空的调用目标。批处理执行时会判定这是一个合法但无实际操作的空调用,最终返回ErrorLevel 0。(call):call后没有任何内容,相当于尝试调用一个完全不存在的目标,批处理会判定调用失败,因此返回ErrorLevel 1。
本质是利用了call命令的容错逻辑差异:带空格的空调用被识别为合法空操作,无空格的空调用被识别为无效调用,从而返回不同的ErrorLevel值。
内容的提问来源于stack exchange,提问作者Manngo
相关产品推荐
相关产品推荐

