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 秒,並且每當進程優先級應該時,我就已經過了主選單被腳本改變。不確定這是否相關,但這只是我注意到的。

相關內容