Windows XPのコマンドラインからスケジュールされたタスクを無効にすることは可能ですか?


11

私のWindows 7マシンでは、次のようなものを実行できます。

schtasks.exe /Change /TN "MyTaskName" /Disable

しかし、/ DisableはWindows XPでは使用できないようです。コマンドラインから無効にする方法はありますか?

回答:


8

この/disableスイッチはVista / 7 / 2008R2 / 2012の機能にすぎません。

タスク.jobファイルの名前を「無効」に変更するだけです。

schtasks /Create /SC HOURLY /TN "TEST TASK" /TR notepad
schtasks

TaskName                             Next Run Time            Status
==================================== ======================== ===============
TEST TASK                            09:45:00, 7/26/2010

move "C:\WINDOWS\Tasks\TEST TASK.job" "C:\WINDOWS\Tasks\TEST TASK.bak"
schtasks
INFO: There are no scheduled tasks present in the system.

タスクを「有効」にするには、.bakファイルの名前を次のように変更します.job

schtasks
INFO: There are no scheduled tasks present in the system.

move "C:\WINDOWS\Tasks\TEST TASK.bak" "C:\WINDOWS\Tasks\TEST TASK.job"
schtasks

TaskName                             Next Run Time            Status
==================================== ======================== ===============
TEST TASK                            09:45:00, 7/26/2010

良いアイデア。ただし、実際にタスクスケジューラで無効になっているように表示したいので、将来のある時点で再び有効にすることができます。通常、「1回実行」に設定して特定の時間を設定できますが、この特定のスクリプトはログイン時に実行し、それから無効にする必要があります。
ジョンシブリー

4
@John:「有効化」の例を示すために私の回答を更新しました。そのオプションがなければC:\Windows\System32\schtasks.exe、2003 +インストールからバイナリをコピーできます。このバイナリをXPマシンに配置し、明示的なパスを使用して呼び出します。schtasks2003年を使用してXPで作成されたタスクの無効化をテストしましたschtasks
jscott

ご回答いただきありがとうございます。Win2003の回避策を使用します。これは私たちの状況により適しているためです。しかし、名前の変更のアイデアも、ある時点で役立つ場合があります
ジョンシブル

2

1回限りの動作を実現するために、ロックファイルをチェックする「ラッパー」バットスクリプトをいつでもコーディングできます。

最初の実行時にロックファイルを作成します。ロックファイルが見つかると、ラッパースクリプトが終了するたびにロックファイルが作成されます。

if exist Lock.file goto :eof
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.