带有 WAIT 选项的 START 命令如何
START /wait notepad.exe
START /wait notepad.exe
...与使用 CALL 命令有什么不同吗?
CALL notepad.exe
CALL notepad.exe
是否存在一种情况,根据正在执行的内容,一个人的行为可能与另一个人不同?
For exe文件,我认为差异几乎不重要。
但要开始一个exe你甚至不需要CALL
.
当开始另一批时,差别很大,
as CALL
将在同一窗口中启动它,并且被调用的批处理可以访问相同的变量上下文。
因此它也可以改变影响调用者的变量。
START
将为调用的批处理创建一个新的 cmd.exe,如果没有 /b,它将打开一个新窗口。
由于它是一个新的上下文,因此无法共享变量。
差异
Using start /wait <prog>
- 环境变量的更改会丢失<prog>
ends
- 呼叫者等待,直到<prog>
完成了
Using call <prog>
- For exe可以省略,因为相当于刚刚开始<prog>
- 为exe-prog调用者批处理等待或启动exe异步,但行为取决于exe itself.
- For batch文件,调用者批处理继续,当被调用时<batch-file>
完成,如果没有调用,控件将不会返回到调用者批处理
附录:
Using CALL
可以更改参数(对于批处理和 exe 文件),但仅限于它们包含脱字符号或百分号时。
call myProg param1 param^^2 "param^3" %%path%%
将扩展为(从批处理文件中)
myProg param1 param2 param^^3 <content of path>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)