对于call,“同一进程,变量互通”。

对于start,概括两句话:“不同进程不能传值”,“相同进程单向传值,老子传儿子,非儿子传老子”。

 

 

 

 

 

批处理中的call 和start

 

 

 

 

用call: 应用示例中在main中定义了变量a,值为1,在child中定义了变量b,值为20,

Main.bat首先执行child.bat, child.bat将执行echo %a%, 能正常显示1

call完之后再执行echo %b%,能正常显示20

call的时候,他们拥有同一个壳cmd.exe,在同一个进程当中,所以他们的变量是互通的

 

 

 

 

 

 

 

 

批处理中的call 和start

 

 

 

 

用start: main.bat首先执行child.bat, child.bat执行echo %a%可以在子进程窗口中显示main中的变量a的值1

然后Main.bat执行echo %b%, 但是父进程无法访问子进程,所以不能显示变量b的指20

他们拥有两个壳cmd.exe,但child.bat可以看成是main.bat的子进程,子进程可以读取父进程中的变量(即a的值)。

 

 

 

相关文章:

  • 2021-08-03
  • 2021-05-31
  • 2022-12-23
  • 1970-01-01
  • 2021-12-28
  • 2021-07-27
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-03-14
  • 2022-01-05
  • 2021-12-09
  • 2021-11-25
  • 2022-01-29
相关资源
相似解决方案