需要将多个令牌分成多个参数,然后可以设置为单独的变量

问题描述

免责声明:我绝对没有任何语言的编码经验。

我需要创建一个可以找到进程的PID的脚本,其中会有多个运行,然后为每个PID创建一个进程转储。如果有多个进程在运行,Procdump 不允许使用进程名称,因此我的目标是找到进程的 PID,然后将其设置为变量以供后续命令使用。

这是我制作的 .bat:

INSERT

我能够获取最后一个 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"
)




c:\Users\Public\Documents\Procdump\procdump.exe -ma %X%


pause

解决方法

如果您需要为每个项目执行 procdump.exe nice,只需将其移动到 for /F 循环中,并使用 -ma %%K 作为参数