CMD のスケジュールされたコマンドをキャンセルする方法

CMD のスケジュールされたコマンドをキャンセルする方法

休止状態コマンドをスケジュールしました:

at 13:00 shutdown /h

このスケジュールされた操作を中止するコマンドはありますか?

  1. shutdown /a動作しませんでした。スケジュールされたシャットダウンがないと言われました。

  2. At 12:59 shutdown /a中絶にはうまく機能しなかったAt 13:00 shutdown /h

答え1

私の場合、atqでスケジュールされたすべての保留中のジョブを一覧表示しますat。サンプル出力:

atq
2   Fri May  1 06:00:00 2020 a root
1   Fri May  1 05:00:00 2020 a root

どのジョブがどのジョブであるかを理解するためにさらに情報が必要な場合は、at -cjobid を続けて実行し、このジョブ ID に対して実行されるコマンドを確認できます。例:

at -c 1
#!/bin/sh
umask 22
LANG=bg_BG.UTF-8; export LANG
SUDO_GID=1000; export SUDO_GID
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; export PATH
...
ls

(出力の一部は省略され、 に置き換えられました...

その後にatrmジョブ ID を続けると、特定のスケジュールされたジョブが削除されます。サンプル (成功した場合は出力はありません):

atrm 1

答え2

シャットダウン/aは、コマンドを使用してシャットダウンがスケジュールされた後にのみ機能します。

シャットダウンイベントがトリガーされるのを待ってから、shutdown /aを実行します。

これを13.01で実行すると動作します

答え3

このスケジュールされた操作を中止するコマンドはありますか?

at 13:00 shutdown /h

at単独で実行すると、スケジュールされたジョブを一覧表示できます。例:

F:\test>at 13:00 echo "hello"
Added a new job with job ID = 1

F:\test>at
Status ID   Day                     Time          Command Line
---------------------------------------------------------------------
        1   Tomorrow                13:00         echo hello

これは、スケジュールされたジョブのリストと、ID各ジョブの を返します。

スケジュールされたジョブを削除するには:

at ID /delete

例:

F:\test>at 13:00 echo "hello"
Added a new job with job ID = 1

F:\test>at
Status ID   Day                     Time          Command Line
-------------------------------------------------------------------------------
        1   Tomorrow                13:00         echo hello

F:\test>at 1 /delete

F:\test>at
There are no entries in the list.

スケジュールされたジョブを削除するにはschtasks:

schtasks /delete /tn At{ID}

{ID}タスクの ID はどこにありますかat

例:

F:\test>schtasks /delete /tn At1
WARNING: Are you sure you want to remove the task "At1" (Y/N)? y
SUCCESS: The scheduled task "At1" was successfully deleted. 

削除するには全てスケジュールされたジョブ:

at /delete /yes

使用時

F:\test>at /?
The AT command schedules commands and programs to run on a computer at
a specified time and date. The Schedule service must be running to use
the AT command.

AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
    [ /EVERY:date[,...] | /NEXT:date[,...]] "command"

\\computername     Specifies a remote computer. Commands are scheduled on the
                   local computer if this parameter is omitted.
id                 Is an identification number assigned to a scheduled
                   command.
/delete            Cancels a scheduled command. If id is omitted, all the
                   scheduled commands on the computer are canceled.
/yes               Used with cancel all jobs command when no further
                   confirmation is desired.
time               Specifies the time when command is to run.
/interactive       Allows the job to interact with the desktop of the user
                   who is logged on at the time the job runs.
/every:date[,...]  Runs the command on each specified day(s) of the week or
                   month. If date is omitted, the current day of the month
                   is assumed.
/next:date[,...]   Runs the specified command on the next occurrence of the
                   day (for example, next Thursday).  If date is omitted, the
                   current day of the month is assumed.
"command"          Is the Windows NT command, or batch program to be run.

参考文献

  • Windows CMD コマンドラインの AZ インデックス- Windows コマンド ラインに関連するあらゆることに関する優れたリファレンス。
  • - 特定の日時にコンピューター上で実行されるコマンドまたはバッチ ファイルをスケジュールします。

関連情報