Windowsで自動でプログラムを実行する方法

Windowsで自動でプログラムを実行するひとつの方法を残しておきます。
(環境:Windows10Pro64bitバージョン1909)

結論

任意のバッチファイルを作成し、タスクスケジューラーでそのバッチファイルを実行します。

Windowsの処理であれば、そのままバッチファイルを実行しても構いませんし、別に実行したいプログラムがあれば、バッチの中にそのプログラムを実行するコードを書いておきます。

基本だけでもタスクスケジューラーが使えるようになると、事務作業や個人のPC操作の幅が広がりますよ!

例:Rubyのかんたんプログラムを自動実行する

test.rb「ハローというだけのプログラム」

puts "Hello World"

test.bat「タスクスケジューラーで実行するプログラム」

@echo off
cd "C:\Users\〇〇〇\Desktop"
ruby test.rb
pause

「pause」は確認用です。

2行目がポイントです。作成したバッチファイルを「SHIFTキー + 右クリック」で「パスのコピー(A)」でパスを取得してコピペし、フォルダのパスまで記述してください。自動実行するときにファイルの位置を教えてあげないと正しく実行されません。

しかし、お使いのPC環境、実行するプログラムによって不要かもしれません。

今回は「デスクトップに作成したRubyプログラムを実行するためにパスの指定が必要でした。

Rubyがインストールされていない方のテストプログラムはこちら

test.bat「タスクスケジューラーで実行するプログラム」

@echo off
echo hello world
pause

バッチファイル冒頭の「@echo off」はあってもなくてもいいですが、あったほうがすっきりします笑。

タスクスケジューラーの使い方

  1. タスクスケジューラーを起動する
    ファイル名実行で「taskschd.msc」、またはスタートメニューから「タスクスケジューラー」を検索。今後よく使うならスタートメニューかタスクバーにピン留めしておくと、とても便利ですね。
    タスクスケジューラーを起動する方法

    タスクスケジューラーを起動する方法

  2. 「基本タスクの作成」
    タスク作成の手順

    タスク作成の手順


    1. 右側の「基本タスクの作成」をクリック。
    2. 「名前(A)」に自分がわかる名前を入力。次へ。
    3. 例題として「毎日同じ時間に1回起動する」を作成しましょう。
      「毎日(D)」にチェック。次へ。
    4. 「開始(S)」はいじらない。「間隔(C)」は1日。次へ。
    5. 「プログラムの開始(T)」にチェック。次へ。
    6. 「参照(R)」から作成したバッチファイルを選択。次へ。
    7. 「完了」
    8. タスクスケジュールの一覧にいま作成した基本タスクが表示されます。
      ※表示されない場合タスクスケジューラーを再起動してください。
  3. 一覧にある作成したタスクをダブルクリックします。
    プロパティが開くので「トリガー」タブに移動し、時間をダブルクリックし、開始時間を設定します。今後時間を変更したい時も同じ方法です。各ウィンドウの「OK」をクリックして閉じてください。一覧の開始時間を確認してください。
    タスク実行日時設定

    タスク実行日時設定

  4. 時間になり、デスクトップにコマンドプロンプトが開けば成功です!

自動シャットダウンもできます

shutdown.bat

shutdown /s /f /t 0 

これを余裕を持った時間に設定しておけば自動的にシャットダウンができます。
「自動」…すごくいい言葉ですね。