windows中的CMD命令学习Tips

如何在一个CMD命令中调用其余多个CMD命令

  • 可使用 start 或者 call,不一样之处在于:

**一是调用范围不一样:**CALL主要用来进行批处理的内部调用如CALL:PEND和一些DOS命令的调用如CALL SET TEST=2,但也能够调用其余可执行文件,而START则不能进行内部调用,但其能够执行基本上全部的外部程序,还能够执行SHELL,如打开文件夹START "" "%WINDIR%",安装网络打印机START "" "\IP\Printer",同时须要注意有无START调用外部程序的区别;html

**二是调用方式不一样:**CALL实际上调用,因此在CALL另外一个批处理时是在同一窗体进程里执行,而START是执行,因此在执行另一个批处理时是在不一样的窗体进程里执行,也就是说在新的进程里执行,虽然START能够加入B参数,但其结果却彻底不一样.如咱们使用CALL SET TEST=2和START /B SET TEST=2看似执行的结果相同,可是咱们发现后者有两个进程,并且在窗体里要执行两次EXIT才能退出,因此当咱们使用START来执行一个批处理后最好在被调用的批处理中也加一个EXIT,不然没法退出被调用的批处理的DOS窗体,可是使用CALL调用时若是在被调用的批处理中存在EXIT则会直接结束原始和别调用的批处理程序,这是一个很是严重的问题,建议在被调用的程序中使用goto:eof来取代EXIT;.java

**三是调用结果不一样:**CALL调用不只能够把参数或变量传给被调用的批处理,并且被调用的批处理也能够设置参数或变量以便回传,而START只能把参数或变量传给被调用的批处理,却不能回传参数或变量,这一点其实是第二点的延伸.至于此咱们还必须注意使用CALL调用其余批处理中咱们使用GOTO的时候建议使用不一样的节来跳转,不然可能跳转到原批处理中而不能完整的执行被调用的批处理.windows

简单来讲使用 start ,被调用的命令在不一样的进程中执行,使用 call ,被调用的命令在同一进程中执行。网络

参考

关于进程相关

  • 经过 tasklist|findstr "java" 能够找到进程名为 java.exe 的全部进程,以下
D:\Users\dev>tasklist|findstr "java"
java.exe                    174592 Console                    1    133,140 K
java.exe                    173624 Console                    1    130,752 K
java.exe                    175448 Console                    1    131,960 K
java.exe                    170280 Console                    1    122,628 K
java.exe                    179032 Console                    1    137,132 K
java.exe                    176544 Console                    1    133,040 K
java.exe                    174636 Console                    1    133,004 K
  • 经过 taskill /F /im java.exe 能够批量杀死 进程名为 java.exe 的全部进程,以下
D:\Users\dev>taskkill /F /im java.exe
成功: 已终止进程 "java.exe",其 PID 为 174592。
成功: 已终止进程 "java.exe",其 PID 为 173624。
成功: 已终止进程 "java.exe",其 PID 为 175448。
成功: 已终止进程 "java.exe",其 PID 为 170280。
成功: 已终止进程 "java.exe",其 PID 为 179032。
成功: 已终止进程 "java.exe",其 PID 为 176544。
成功: 已终止进程 "java.exe",其 PID 为 174636。
  • 经过 netstat -aon|findstr "20011" 能够找到占用端口号 20011 的进程id,以下
D:\Users\dev>netstat -aon|findstr "20011"
  TCP    0.0.0.0:20011          0.0.0.0:0              LISTENING       164280
  • 经过 tskill 164280 能够杀死该进程

参考

相关文章
相关标签/搜索