Je suis assez nouveau pour les fichiers batch, alors gardez cela à l'esprit. J'essaie d'écrire un script qui lance un jeu, attend 30 secondes, puis définit la priorité du jeu sur High. À l'origine, cela ressemblait à ceci:

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

Cela ne fonctionnait pas, mais cela fonctionne lorsque j'écris exactement la même ligne wmic dans une commande distincte lorsque le processus est ouvert. J'ai ensuite eu l'idée de lancer un autre fichier chauve-souris avec uniquement la ligne wmic de l'original et de supprimer la ligne wmic de l'original. Cela fonctionne, mais je pense qu'il doit y avoir un meilleur moyen que de lancer deux scripts. Ma question est donc la suivante: pourquoi la commande ne fonctionne-t-elle pas dans l'exemple ci-dessus, mais fonctionne-t-elle lorsque j'écris exactement la même commande dans une cmd séparée? Et est-il possible de résoudre ce problème?

EDIT: Il semble que le jeu en question réinitialise la priorité du processus à la normale chaque fois que j'entre dans le menu principal, mais cela ne devrait pas être un problème étant donné que j'attends 30 secondes et que je dépasse le menu principal lorsque la priorité du processus être changé par le script. Je ne sais pas si c'est pertinent, mais c'est juste quelque chose que j'ai remarqué.

Jakob Hansen
la source