gpt4 book ai didi

windows - windows批处理中call和cmd/c的区别

转载 作者:可可西里 更新时间:2023-11-01 13:53:18 26 4
gpt4 key购买 nike

谁能解释一下

call someBatchFile.bat ...

cmd /C someBatchFile.bat ...

他们都被建议给我作为 this 的解决方案问题,但我不明白为什么它们都有效,更重要的是,如果有任何重大差异我必须注意。

最佳答案

区别在于 call 在调用程序的相同上下文中执行另一个批处理文件,因此它们共享相同的环境变量和其他状态(如 echo ON/OFF 或延迟扩展),而 cmd/C 在完全独立的上下文中执行另一个批处理文件,因此在被调用的批处理文件中所做的任何更改不是 反射(reflect)在原始文件中。

作为个人笔记,我曾经将通过 call 调用的批处理文件命名为 internal subroutine,并将通过 external subroutine 命名为通过cmd/C(并且覆盖直接调用的批处理文件,没有call,也没有cmd/C继承调用者批处理文件的行为和上下文)。

关于windows - windows批处理中call和cmd/c的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39055349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com