- ベストアンサー
プログラムの起動と停止のスケジュール
windows10でプログラムの起動と停止を毎日スケジュールしたいのですが、 windows10のタスクスケジュラーには、操作として、プログラムの起動がありますが、プログラムの停止がありません。 すると、起動と停止はできないのでしょうか。 他の方法としてUWSCがありますが、現在はサポート停止状態です。 更に他の簡便な方法はないでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
あなたの想定の流れは大体正しいかもしれませんが、PowerShellスクリプトには正確な構文と命令が必要です。次のようなスクリプトを作成することができます。 While (1 -eq 1) { $currentTime = Get-Date $hour = $currentTime.Hour if ($hour -eq 10) { Start-Process "prog_a.exe" } if ($hour -eq 12) { Stop-Process -Name "prog_a" } if ($hour -eq 20) { Start-Process "prog_b.exe" } if ($hour -eq 22) { Stop-Process -Name "prog_b" } if ($currentTime.DayOfWeek -eq "Saturday" -and $hour -eq 0) { break } Start-Sleep -Seconds 3600 } このスクリプトを保存して、タスクスケジューラに登録して実行することができます。このスクリプトは、現在時刻を毎時取得し、特定の時間に起動または停止するプログラムを実行するように設定されています。土曜日の0時に終了するようにも設定されています。
その他の回答 (3)
- m5048172715
- ベストアンサー率16% (860/5261)
指定時刻に、任意のexeやbatファイルを起動、 指定時刻に、実行中の実行ファイルやvbスクリプト等をkillできるけど、 killはプロセスをいきなりぶっちぎっちゃうので、 手動なら○○してプログラム終了する場合の○○をしない。 他のvbスクリプトをkillしてしまう恐れはある。 これさえ良ければ、 タイマーを使うバッチファイルを記述してすぐです。
お礼
そうですね。 >手動なら○○してプログラム終了する場合の○○をしない。 と言うようなことは、これだけではできないですね。
- 名探偵 コナン(@FORSPOKEN)
- ベストアンサー率33% (333/998)
Windows 10でプログラムの起動と停止のスケジュールを設定する方法としては、次のような方法があります。 コマンドプロンプトを使う: 起動・停止のために、プログラムを起動・停止するために必要なコマンドを記述したバッチファイルを作成し、タスクスケジューラーで起動・停止させます。 PowerShellスクリプトを使う: 起動・停止のために、PowerShellスクリプトを作成して、タスクスケジューラーで実行させます。 上記の方法を利用することで、Windows 10にてプログラムの起動・停止のスケジュール設定が可能です。
お礼
ご返事ありがとうございます。 コマンドプロンプトの簡単なバッチ処理は書いたことがありますが、 poweshellは初めてです。 その文法はまだ十分に調べていませんが、検索したコマンド一覧から想定すると、 次のような流れで実現できるのでしょうか? pwershell 起動停止スクリプトを起動 時間判定ループ {、}内を反復 { ・現在時刻を取得 ・10時になったか? ・プログラムAを起動 start_process prog_a.exe ・12時になったか? ・プログラムAを停止 stop_process prog_a.exe ・20時になったか? ・プログラムBを起動 start_process prog_b.exe ・22時になったか? ・プログラムBを停止 start_process prog_b.exe ・土曜日0時になればexit } 終了 これが実現できるなら、タスクスケジューラを使わなくともよさそうに見えます。
- m5048172715
- ベストアンサー率16% (860/5261)
UWSCだとどのようにできるはずなのだろう?あたかもオペレーターがそのアプリケーションソフトウエアを正しく終了するように操作? とするとロケットマウスかな?使うのは。
お礼
ご返事ありがとうございます。 この課題について、uwscで具体的に考えたわけではないですが、以前の記憶に頼ると、 プログラム名を指定して起動はできたように思います。停止ができるかどうか? できない場合は、仰せのように×印までマウスを動かし、クリックするとかになるのでしょうか? サポート中止でもあるので、他の方法はないかと質問しました。
お礼
正確な構文を提示までしていただきありがとうございます。 自分は、正しければ、詳しく構文を調べるつもりでしたので、大変助かりました。 多分毎週規則的に、反復するつもりでなく、週末に手動で起動するつもりでしたので、その場合は、タスクスケジューラは当然不要ですね。 ありがとうございました。