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 /ccmd /c copy C:\*.* C:\tempけなければなりません。

  • id: スケジュールされたタスクに割り当てられている識別番号を指定するには、このパラメーターを使用します。

  • /delete: スケジュールされたタスクを取り消すには、このパラメーターを使用します。 id パラメーターを省略すると、コンピューター上のすべてのスケジュールされたタスクが取り消されます。

  • /yes: スケジュールされたタスクを取り消すときに、このパラメーターを使用して、システムからのすべてのクエリに対して"はい" の回答を強制します。 このパラメーターを省略すると、タスクの取り消しを確認するように求められます。

注:

at コマンドを使用すると、スケジュールされたタスクはシステム アカウントの資格情報を使用して実行されます。

スケジュール タスクを作成する

  1. [ スタート] をクリックし、[ プログラム] をポイントし、[ アクセサリ] をポイントして、[ コマンド プロンプト] をクリックします。

  2. コマンド プロンプトでコマンドを net start 入力し、Enter キーを押して現在実行中のサービスの一覧を表示します。

    タスク スケジューラが一覧に表示されない場合は、次の行を入力し、Enter キーを押します。

    net start "task scheduler"
    
  3. コマンド プロンプトで、次の行を入力し (状況に適したパラメーターを使用します)、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"
    

スケジュールされたタスクを取り消す

  1. [ スタート] をクリックし、[ プログラム] をポイントし、[ アクセサリ] をポイントして、[ コマンド プロンプト] をクリックします。

  2. コマンド プロンプトでコマンドを net start 入力し、Enter キーを押して現在実行中のサービスの一覧を表示します。

    タスク スケジューラが一覧に表示されない場合は、次の行を入力し、Enter キーを押します。

    net start "task scheduler"
    
  3. コマンド プロンプトで、次の行を入力し (状況に適したパラメーターを使用します)、Enter キーを押します。

    at \\computername id /delete | /delete /yes
    

スケジュールされたタスクを取り消す例

  • ローカル コンピューターでスケジュールされているすべてのタスクを取り消すには、「」と入力 at /deleteし、Enter キーを押します。
  • MyServer という名前のコンピューターでタスク ID 8 を取り消すには、「」と入力at \\MyServer 8 /deleteし、Enter キーを押します。

スケジュールされたタスクを表示する

at コマンドを使用して作成したタスクを表示するには、次の手順に従います。

  1. [ スタート] をクリックし、[ プログラム] をポイントし、[ アクセサリ] をポイントして、[ コマンド プロンプト] をクリックします。

  2. コマンド プロンプトでコマンドを net start 入力し、Enter キーを押して現在実行中のサービスの一覧を表示します。

    タスク スケジューラが一覧に表示されない場合は、次の行を入力し、Enter キーを押します。

    net start "task scheduler"
    
  3. コマンド プロンプトで、次のいずれかの手順を実行します。

    • at コマンドを使用してスケジュールしたタスクの一覧を表示するには、行を入力して Enter キーを at \\computername 押します。
    • 特定のスケジュールされたタスクを表示するには、コマンドを at \\computername id 入力し、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 ヘルプ」を参照してください。 これを行うには、[ スタート] をクリックし、[ ヘルプ] をクリックし、[ インデックス ] タブをクリックし、コマンドに「」と入力します。