wmic setpriority funktioniert nicht bei einem Prozess, der gerade in einer Batchdatei gestartet wurde?

wmic setpriority funktioniert nicht bei einem Prozess, der gerade in einer Batchdatei gestartet wurde?

Ich bin ziemlich neu im Umgang mit Batchdateien, also denken Sie daran. Ich versuche, ein Skript zu schreiben, das ein Spiel startet, 30 Sekunden wartet und dann die Priorität des Spiels auf „hoch“ setzt. Ursprünglich sah es so aus:

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

Das hat nicht funktioniert, aber es funktioniert, wenn ich genau dieselbe WMIC-Zeile in ein separates cmd schreibe, wenn der Prozess geöffnet ist. Dann kam ich auf die Idee, eine weitere Bat-Datei mit nur der WMIC-Zeile aus dem Original zu starten und die WMIC-Zeile im Original zu entfernen. Das funktioniert, aber ich denke, es muss einen besseren Weg geben, als zwei Skripte zu starten. Meine Frage ist also, warum der Befehl im obigen Beispiel nicht funktioniert, aber er funktioniert, wenn ich genau denselben Befehl in ein separates cmd schreibe? Und gibt es eine Möglichkeit, dies zu beheben?

EDIT: Es scheint, als würde das betreffende Spiel die Prozesspriorität auf den Normalwert zurücksetzen, wenn ich das Hauptmenü betrete, aber das sollte kein Problem sein, wenn man bedenkt, dass ich 30 Sekunden warte und das Hauptmenü schon weit hinter mir habe, wenn die Prozesspriorität durch das Skript geändert werden soll. Ich bin nicht sicher, ob das relevant ist, aber es ist mir einfach aufgefallen.

verwandte Informationen