Чи можна відключити заплановане завдання з командного рядка в 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

Гарна ідея. Однак мені б дуже хотілося, щоб він фактично відображався як відключений у планувальнику завдань, тому я можу знову ввімкнути його в якийсь момент майбутнього. Зазвичай ви можете просто встановити його на "Запустити один раз" і встановити певний час, але саме цей сценарій нам потрібно запустити при вході в систему, а потім відключити себе.
Джон Сіблі

4
@John: Оновлено мою відповідь, щоб показати приклад "сприяння". Якщо заборонити цей параметр, ви можете скопіювати C:\Windows\System32\schtasks.exeдвійкові файли з встановлення 2003+. Розмістіть цей двійковий файл на машині XP та зателефонуйте йому, використовуючи його явний шлях. Я щойно успішно перевірив відключення завдання, створеного в XP schtasksза допомогою 2003 року schtasks.
jscott

Дякуємо за ваші відповіді. Я буду використовувати рішення Win2003, оскільки це краще відповідає нашій ситуації. Але ідея перейменування також може стати в нагоді в якийсь момент
Джон Сіблі

2

Для того, щоб досягти поведінки одноразового запуску, ви завжди можете просто зашифрувати сценарій bat "обгортки", який перевіряє наявність файлу блокування.

Створіть файл блокування під час першого запуску, і кожен там після сценарію обгортки просто вийде, якщо він знайде файл блокування:

if exist Lock.file goto :eof
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.