at コマンドを使用してタスクをスケジュールする
この記事では、at コマンドを使用してスケジュールされたタスクを作成および取り消す方法について説明します。
適用対象: Windows 2000
元の KB 番号: 313565
注:
この記事は Windows 2000 に適用されます。 Windows 2000 のサポートは、2010 年 7 月 13 日に終了します。 詳細については、「Microsoft サポート ライフサイクル ポリシー」を参照してください。
概要
Windows 2000 では、コントロール パネルのタスク スケジューラ ツールを使用してタスクをスケジュールできます。 at コマンドを使用して、タスクを手動でスケジュールすることもできます。
at コマンドの概要
at コマンドを使用して、指定した日時に実行するコマンド、スクリプト、またはプログラムをスケジュールできます。 このコマンドを使用して、既存のスケジュールされたタスクを表示することもできます。
at コマンドを使用するには、タスク スケジューラ サービスが実行されている必要があり、ローカル Administrators グループのメンバーとしてログオンする必要があります。 at コマンドを使用してタスクを作成する場合は、タスクが同じユーザー アカウントで実行されるように構成する必要があります。
at コマンドは、次の構文を使用します。
at \\computername time/interactive | /every: date, ... /next: date, ... command
at \\computername id/delete | /delete /yes
次の一覧では、at コマンドで使用できるパラメーターについて説明します。
\computername: リモート コンピューターを指定するには、このパラメーターを使用します。 このパラメーターを省略すると、タスクはローカル コンピューターで実行されるようにスケジュールされます。
time: このパラメーターを使用して、タスクを実行する時刻を指定します。 時間は、24 時間のクロックに基づいて時間 (分) として指定されます。 たとえば、0:00 は午前 0 時を表し、20:30 は午後 8 時 30 分を表します。
/interactive: このパラメーターを使用して、タスクの実行時にログオンしているユーザーのデスクトップとタスクが対話できるようにします。
/every: date,...: このパラメーターを使用して、指定した曜日または曜日 (毎週金曜日、毎月 8 日など) に実行するタスクをスケジュールします。 日付を 1 日以上の曜日として指定します (M、T、W、Th、F、S、Su の省略形を使用) または月の 1 日以上 (1 ~ 31 の数値を使用)。 複数の日付エントリを区切るには、コンマを使用してください。 このパラメーターを省略すると、タスクは現在の日に実行されるようにスケジュールされます。
/next: date, ...: このパラメーターを使用して、その日の次の出現時刻 (次の月曜日など) に実行するタスクをスケジュールします。 日付を 1 日以上の曜日として指定します (M、T、W、Th、F、S、Su の省略形を使用) または月の 1 日以上 (1 ~ 31 の数値を使用)。 複数の日付エントリを区切るには、コンマを使用してください。 このパラメーターを省略すると、タスクは現在の日に実行されるようにスケジュールされます。
command: このパラメーターを使用して、Windows 2000 コマンド、実行するプログラム (.exe または.com ファイル)、またはバッチ プログラム (.bat または.cmd ファイル) を指定します。 コマンドで引数としてパスが必要な場合は、絶対パス名 (ドライブ文字で始まるパス全体) を使用します。 コマンドがリモート コンピューター上にある場合は、Uniform Naming Convention (UNC) パス名 (\ServerName\ ShareName) を使用します。 コマンドが実行可能ファイル (.exe) ファイルでない場合は、コマンドの前に のように を付
cmd /c
cmd /c copy C:\*.* C:\temp
けなければなりません。id: スケジュールされたタスクに割り当てられている識別番号を指定するには、このパラメーターを使用します。
/delete: スケジュールされたタスクを取り消すには、このパラメーターを使用します。 id パラメーターを省略すると、コンピューター上のすべてのスケジュールされたタスクが取り消されます。
/yes: スケジュールされたタスクを取り消すときに、このパラメーターを使用して、システムからのすべてのクエリに対して"はい" の回答を強制します。 このパラメーターを省略すると、タスクの取り消しを確認するように求められます。
注:
at コマンドを使用すると、スケジュールされたタスクはシステム アカウントの資格情報を使用して実行されます。
スケジュール タスクを作成する
[ スタート] をクリックし、[ プログラム] をポイントし、[ アクセサリ] をポイントして、[ コマンド プロンプト] をクリックします。
コマンド プロンプトでコマンドを
net start
入力し、Enter キーを押して現在実行中のサービスの一覧を表示します。タスク スケジューラが一覧に表示されない場合は、次の行を入力し、Enter キーを押します。
net start "task scheduler"
コマンド プロンプトで、次の行を入力し (状況に適したパラメーターを使用します)、Enter キーを押します。
at \\computername time/interactive | /every: date, ... /next: date, ... command
例
[ドキュメント] フォルダーから午前 0 時に MyDocs フォルダーにすべてのファイルをコピーするには、次の行を入力し、Enter キーを押します。
at 00:00 cmd /c copy C:\Documents\*.* C:\MyDocs
各平日の午後 11 時に Products サーバーをバックアップするには、バックアップ コマンド (たとえば、Backup.bat) を含むバッチ ファイルを作成し、次の行を入力し、Enter キーを押してバックアップをスケジュールします。
at \\products 23:00 /every:M,T,W,Th,F backup
net share コマンドを Sales サーバーで午前 6 時に実行するようにスケジュールし、Corp サーバー上の共有レポート フォルダー内の Sales.txt ファイルに一覧をリダイレクトするには、次の行を入力して Enter キーを押します。
at \\sales 06:00 cmd /c "net share reports=d:\Documents\reports >> \\corp\reports\sales.txt"
スケジュールされたタスクを取り消す
[ スタート] をクリックし、[ プログラム] をポイントし、[ アクセサリ] をポイントして、[ コマンド プロンプト] をクリックします。
コマンド プロンプトでコマンドを
net start
入力し、Enter キーを押して現在実行中のサービスの一覧を表示します。タスク スケジューラが一覧に表示されない場合は、次の行を入力し、Enter キーを押します。
net start "task scheduler"
コマンド プロンプトで、次の行を入力し (状況に適したパラメーターを使用します)、Enter キーを押します。
at \\computername id /delete | /delete /yes
スケジュールされたタスクを取り消す例
- ローカル コンピューターでスケジュールされているすべてのタスクを取り消すには、「」と入力
at /delete
し、Enter キーを押します。 -
MyServer という名前のコンピューターでタスク ID 8 を取り消すには、「」と入力
at \\MyServer 8 /delete
し、Enter キーを押します。
スケジュールされたタスクを表示する
at コマンドを使用して作成したタスクを表示するには、次の手順に従います。
[ スタート] をクリックし、[ プログラム] をポイントし、[ アクセサリ] をポイントして、[ コマンド プロンプト] をクリックします。
コマンド プロンプトでコマンドを
net start
入力し、Enter キーを押して現在実行中のサービスの一覧を表示します。タスク スケジューラが一覧に表示されない場合は、次の行を入力し、Enter キーを押します。
net start "task scheduler"
コマンド プロンプトで、次のいずれかの手順を実行します。
- at コマンドを使用してスケジュールしたタスクの一覧を表示するには、行を入力して Enter キーを
at \\computername
押します。 - 特定のスケジュールされたタスクを表示するには、コマンドを
at \\computername id
入力し、Enter キーを押します。
- at コマンドを使用してスケジュールしたタスクの一覧を表示するには、行を入力して Enter キーを
スケジュールされたタスクを表示する例
- ローカル コンピューター上のすべてのスケジュールされたタスクを表示するには、「」と入力
at
し、Enter キーを押します。 -
[サポート] という名前のコンピューター上のすべてのスケジュールされたタスクを表示するには、「」と入力
at \\support
し、Enter キーを押します。 - ローカル コンピューターでタスク ID 18 を表示するには、「」と入力
at 18
し、Enter キーを押します。
トラブルシューティング
スケジュールされたタスクの一覧を表示するために入力
at \\computername
すると、at コマンドを使用して作成したスケジュールされたタスクの一部 (またはすべて) は一覧に表示されません。この動作は、at コマンドを使用してタスクを作成した後に、スケジュールされたタスク フォルダー内のタスクを変更した場合に発生する可能性があります。 at コマンドを使用してタスクをスケジュールすると、タスクはコントロール パネルの [スケジュールされたタスク] フォルダーに表示されます。 タスクを表示または変更できます。 ただし、タスクを変更すると、at コマンドを使用するときにタスクを表示できません。
at コマンドを使用してタスクをスケジュールする場合、タスクは指定した時刻または日付に実行されません。
この動作は、次のいずれかの条件に該当する場合に発生する可能性があります。
コマンド構文が正しくありません。
タスクをスケジュールしたら、「」と入力
at \\computername
して、構文が正しいことを確認します。 [コマンド ライン] に表示される情報が正しくない場合は、タスクを取り消して再作成します。.exe ファイルではないコマンドを実行するようにタスクをスケジュールします。
at コマンドは、コマンドを実行する前に cmd (コマンド インタープリター) を自動的に読み込むことはありません。 .exe ファイルを実行している場合を除き、コマンドの先頭に Cmd.exe を読み込む必要があります (例: at cmd /c dir > c:\test.txt
)。
関連情報
Windows 2000 で at コマンドを使用する方法の詳細については、「Windows 2000 ヘルプ」を参照してください。 これを行うには、[ スタート] をクリックし、[ ヘルプ] をクリックし、[ インデックス ] タブをクリックし、コマンドに「」と入力します。