私はバッチ ファイルについてかなり初心者なので、その点に注意してください。ゲームを起動し、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 行を書き込むと機能します。次に、元の wmic 行だけを含む別の bat ファイルを起動し、元の wmic 行を削除するというアイデアを思いつきました。これは機能しますが、2 つのスクリプトを起動するよりも良い方法があるはずだと思っています。そこで私の質問は、上記の例ではコマンドが機能しないのに、別の cmd にまったく同じコマンドを書き込むと機能するのはなぜですか? また、これを修正する方法はありますか?
編集: 問題のゲームは、メイン メニューに入るたびにプロセス優先度を通常にリセットしているようですが、スクリプトによってプロセス優先度が変更されるたびに 30 秒待機し、メイン メニューをはるかに過ぎていることを考えると、問題にはならないはずです。それが関連しているかどうかはわかりませんが、私が気づいたことです。