Czy w systemie Windows XP można wyłączyć zaplanowane zadanie z wiersza poleceń?

11

Na moim komputerze z systemem Windows 7 mogę uruchomić coś takiego:

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

Ale opcja / Wyłącz nie jest dostępna w systemie Windows XP - czy jest jakiś sposób na wyłączenie jej z wiersza poleceń?

John Siable
źródło

Odpowiedzi:

8

/disablePrzełącznik jest tylko cechą Vista / 7 / 2008R2 / 2012 .

Możesz po prostu zmienić nazwę .jobpliku zadania , aby go „wyłączyć”.

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.

Aby „włączyć” zadanie, zmień nazwę .bakpliku na .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
jscott
źródło
Dobry pomysł. Jednak naprawdę chciałbym, aby faktycznie pojawiał się jako wyłączony w Harmonogramie zadań, więc w przyszłości mogę go włączyć ponownie. Zwykle można po prostu ustawić opcję „Uruchom raz” i ustawić określony czas, ale ten konkretny skrypt musimy uruchomić przy logowaniu, a następnie wyłączyć się.
John Sably
4
@John: Zaktualizowałem moją odpowiedź, aby pokazać przykład „włączania”. Wyłączając tę ​​opcję, możesz skopiować C:\Windows\System32\schtasks.exeplik binarny z instalacji 2003+. Umieść ten plik binarny na komputerze XP i wywołaj go, używając jego wyraźnej ścieżki. Właśnie pomyślnie przetestowałem wyłączanie zadania utworzonego za pomocą XP schtasksza pomocą 2003 schtasks.
jscott
Dzięki za odpowiedzi - skorzystam z obejścia Win2003, ponieważ lepiej pasuje to do naszej sytuacji. Ale pomysł zmiany nazwy również może się przydać w pewnym momencie
John Sably
2

Aby uzyskać zachowanie jednorazowego działania, zawsze można po prostu zakodować skrypt „otoki” nietoperza, który sprawdza plik blokady.

Utwórz plik blokady przy pierwszym uruchomieniu, a każdy po skrypcie opakowania zostanie zamknięty, jeśli znajdzie plik blokady:

if exist Lock.file goto :eof
Michał
źródło