Windowsの便利な使い方
at
指定日時にプログラムを実行する
Vista 7 8 10

機能

指定された日時にコマンドやプログラムが実行されるようにスケジュールする。

形式

at (ComputerName) Time (option) Command
at (ComputerName) (id) /delete (/yes)



オプション

オプション 説明
\\ComputerName リモートコンピュータを操作する場合は指定する
/delete スケジュールされているコマンドを削除する
/yes /deleteと一緒に使うことで確認せずに削除する
/interactive ジョブ実行中のログオンユーザとの対話を許可する
/every:DAY 毎週・毎月など定期的に実行する
※日付省略時は作業日が登録される
/next:DAY 指定した曜日・日付に一度だけ実行する
※日付省略時は作業日が登録される

/every /nextの利用法

/every
/every:1 毎月1日
/every:1,11,21 毎月1日、11日、21日
/every:M 毎週月曜日
M T W Th F S Su
/next
/next:31 次の31日だけ
/next:M 次の月曜日だけ

コマンド例

at 現在登録されているATコマンドを表示する
at 1 ID1の登録内容について詳細を確認する
at 1 /delete /yes ID1のスケジュールを警告なしに削除する
at 18:00 C:\StartBackup.bat 指定したバッチファイルを本日18時に実行する
at 01:00 /interactive /every:1 cmd.exe "xcopy \\Server1\Share\* D:\Backup /D /S /R /Y /I /K" 画面を表示させた状態で、毎月1日1時にxcopyコマンドを実行する
at \\Server1 02:00 /every:M,T,W,Th,F,S,Su cmd.exe /c "net session >> \\Server2\log\netsession.txt" Server1上でセッション情報を毎日2時に取得してServer2に保存するするよう登録する

実行例

C:\>at
一覧にエントリが存在しません。

C:\>at 01:00 /interactive /every:1 cmd.exe "xcopy \\Server1\Share D:\Backup /D /
S /R /Y /I /K"
新しいジョブをジョブ ID = 1 で追加しました。

C:\>at
状態 ID     日付                    時刻          コマンド ライン
-------------------------------------------------------------------------------
        1   毎 1                    1:00          "cmd.exe xcopy \\Server1\Share
 D:\Backup /D /S /R /Y /I /K"

C:\>at 1

タスク ID:      1
状態:     OK
スケジュール:   毎 1
時刻:           1:00
対話:           Yes
コマンド:       "cmd.exe xcopy \\Server1\Share D:\Backup /D /S /R /Y /I /K"

C:\>at 1 /delete /yes

C:\>

C:\>at 02:00 /every:M,T,W,Th,F,S,Su cmd.exe /c "net session >> C:\log\netsession
.txt"
新しいジョブをジョブ ID = 2 で追加しました。

C:\>at
状態 ID     日付                    時刻          コマンド ライン
-------------------------------------------------------------------------------
        1   毎 1                    1:00          "cmd.exe xcopy \\Server1\Share
 D:\Backup /D /S /R /Y /I /K"
        2   毎 月曜日 火曜日...     2:00          cmd.exe /c "net session >> C:\
log\netsession.txt"

C:\>at 2

タスク ID:      2
状態:     OK
スケジュール:   毎 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日 日曜日
時刻:           2:00
対話:           No
コマンド:       cmd.exe /c "net session >> C:\log\netsession.txt"

C:\>

その他

コマンドを使用するには、「スケジュール(task scheduler)」サービスが実行されている必要がある。


関連ページ

shutdown ・・・シャットダウン・再起動やログオフをする
xcopy ・・・ファイルをディレクトリ構造ごとコピーする
copy ・・・ファイルをコピーする
del ・・・ファイルを削除する
runas ・・・別ユーザの権限でプログラムを実行する