Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 是否获取由进程启动的cmd实例的PID?_Batch File - Fatal编程技术网

Batch file 是否获取由进程启动的cmd实例的PID?

Batch file 是否获取由进程启动的cmd实例的PID?,batch-file,Batch File,我有一个批处理文件,它启动一个.exe,然后启动另一个批处理文件。 如何获取后面cmd.exe实例的PID?最好的解决方案是这样做(另存为.bat文件并尝试) 它在第3列中列出了CMD.exe进程及其启动时间和PID,以便您知道最新的进程就是您想要的(或者在本例中是在最近一个之前的一个,因为最近一个是您运行以检查进程ID的cmd) 通过使用tasklist,您甚至可以在PID上进行筛选,在您的情况下,您可能希望筛选您可以尝试使用的exe的名称-它可以将进程列为列表,您可以检查exe启动了什么。您

我有一个批处理文件,它启动一个.exe,然后启动另一个批处理文件。
如何获取后面cmd.exe实例的PID?

最好的解决方案是这样做(另存为.bat文件并尝试)

它在第3列中列出了CMD.exe进程及其启动时间和PID,以便您知道最新的进程就是您想要的(或者在本例中是在最近一个之前的一个,因为最近一个是您运行以检查进程ID的cmd)


通过使用tasklist,您甚至可以在PID上进行筛选,在您的情况下,您可能希望筛选您可以尝试使用的exe的名称-它可以将进程列为列表,您可以检查exe启动了什么。您可以控制第二个启动的bat吗?您可以将它自己的pid打印到一个文件中,以后您可以使用该文件red@npocmake好主意,我试试看。谢谢,谢谢。我找到了我认为更好的解决方案:。但现在我有另一个问题。尝试回显变量%cmdpid%时,我得到“回显已打开”。我该如何解决这个问题?回显打开是由于某个地方的空格或字符放错了位置,如果您有SET命令,请确保等号附近没有空格(请参见此:)如果您想知道PID和WindowTitle或当前CMD,我建议您使用以下代码:您可以将PID和WindowTitle变量保存到文件或任何其他文件中,以便进一步处理。
@echo off&cls
pushd %~dp0

powershell.exe -command "Get-Process | select name, starttime, id | out-file cmdproc.txt"
find "cmd" cmdproc.txt

echo.
pause
rem CLEANUP
del /f cmdproc.txt