Est-il possible de désactiver une tâche planifiée à partir de la ligne de commande dans Windows XP?

11

Sur ma machine Windows 7, je peux exécuter quelque chose comme:

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

Mais / Disable ne semble pas être disponible dans Windows XP - existe-t-il un moyen de le désactiver à partir de la ligne de commande?

John Sibly
la source

Réponses:

8

Le /disablecommutateur n'est qu'une fonctionnalité de Vista / 7 / 2008R2 / 2012 .

Vous pouvez simplement renommer le .jobfichier de tâches pour le "désactiver".

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.

Pour "activer" la tâche, renommez le .bakfichier en .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
la source
Bonne idée. Cependant, j'aimerais vraiment qu'il apparaisse comme désactivé dans le Planificateur de tâches, donc je peux le réactiver à un moment donné dans le futur. Normalement, vous pouvez simplement le définir sur "Exécuter une fois" et définir une heure spécifique, mais ce script particulier doit être exécuté lors de la connexion, puis se désactiver.
John Sibly
4
@John: Mise à jour de ma réponse pour montrer l'exemple "d'activation". Sauf cette option, vous pouvez copier C:\Windows\System32\schtasks.exedes fichiers binaires à partir d'une installation 2003+. Placez ce binaire sur la machine XP et appelez-le en utilisant son chemin explicite. Je viens de tester avec succès la désactivation d'une tâche créée avec le XP schtasksà l'aide du 2003 schtasks.
jscott
Merci pour vos réponses - je vais utiliser la solution de contournement Win2003 car cela correspond mieux à notre situation. Mais l'idée de changement de nom peut également être utile à un moment donné
John Sibly
2

Pour obtenir le comportement d'exécution unique, vous pouvez toujours simplement coder un script de chauve-souris «wrapper» qui vérifie la présence d'un fichier de verrouillage.

Créez le fichier de verrouillage lors de la première exécution, et chaque fois que le script wrapper se terminera, il trouvera le fichier de verrouillage:

if exist Lock.file goto :eof
Michael
la source