wmic setpriority 不适用于批处理文件中刚启动的进程?

wmic setpriority 不适用于批处理文件中刚启动的进程?

我对批处理文件还不太熟悉,所以请记住这一点。我正在尝试编写一个脚本,启动游戏,等待 30 秒,然后将游戏的优先级设置为高。最初它看起来像这样:

cd "...\Stepmania Etterna\Program\"
Start StepMania.exe
ping 127.0.0.1 -n 30 > nul
wmic process where name="StepMania.exe" CALL setpriority 128
pause

这不起作用,但是当我在进程打开时在单独的 cmd 中写入完全相同的 wmic 行时,它确实起作用。然后我想到启动另一个 bat 文件,其中只有原始文件中的 wmic 行,并删除原始文件中的 wmic 行。这有效,但我认为一定有比启动两个脚本更好的方法。所以我的问题是,为什么上面示例中的命令不起作用,但当我将完全相同的命令写入单独的 cmd 时它起作用?有办法解决这个问题吗?

编辑:似乎每当我进入主菜单时,相关游戏都会将进程优先级重置为正常,但考虑到我等待了 30 秒,而且每当脚本应更改进程优先级时,我都远远超过了主菜单,这应该不是问题。不确定这是否相关,但这只是我注意到的一点。

相关内容