免责声明:我绝对没有任何语言的编码经验。
我需要创建一个脚本,它可以找到一个进程的 PID,其中将有多个运行,然后为每个 PID 创建一个进程转储。Procdump 不允许在运行多个进程时使用进程名称,因此我的目标是找到进程的 PID,然后将其设置为变量以供以后的命令使用。
这是我制作的 .bat:
for /F "tokens=2" %%K in ('
tasklist /FI "ImageName eq T.exe" /FI "Status eq Running" /FO LIST ^| findstr /B "PID:"
') do (
set "X= %%K"
)
c:\Users\Public\Documents\Procdump\procdump.exe -ma %X%
pause
我能够获得最后一个 PID 集并在命令中使用,但我不知道如何获得前两个。
这可能看起来一次性完成很多工作,但后来的目标是每 2 小时和 5 小时运行一次,持续 24 小时。我已经能够让它工作,所以现在我只需要解决 PID 问题。事后看来,也许 powershell 会是一个更好的选择,但我觉得我已经接近了,所以我想看看这条路线。
最多可以有三个进程。我在想它看起来像这样:
for /F "tokens=2" %%K in ('
tasklist /FI "ImageName eq T.exe" /FI "Status eq Running" /FO LIST ^| findstr /B "PID:"
') do (
set "X= %%K"
set "Y=???"
set "Z=???"
)
c:\Users\Public\Documents\Procdump\procdump.exe -ma %X%
c:\Users\Public\Documents\Procdump\procdump.exe -ma %Y%
c:\Users\Public\Documents\Procdump\procdump.exe -ma %Z%
pause