É possível desabilitar uma tarefa agendada na linha de comando do Windows XP?

11

Na minha máquina com Windows 7, posso executar algo como:

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

Mas / Desativar não parece estar disponível no Windows XP - existe alguma maneira de desativá-lo na linha de comando?

    
por John Sibly 26.07.2010 / 14:38

2 respostas

8

A opção /disable é apenas um recurso do Vista / 7 / 2008R2 / 2012 .

Você pode simplesmente renomear o arquivo .job da tarefa para "desativá-lo".

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.

Para "ativar" a tarefa, renomeie o arquivo .bak para .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
    
por 26.07.2010 / 14:47
1

Para atingir o comportamento de execução única, você pode sempre codificar um script de morcego 'wrapper' que verifica um arquivo de bloqueio.

Crie o arquivo de bloqueio na primeira execução, e a partir daí, o script do wrapper sairá apenas se encontrar o arquivo de bloqueio:

if exist Lock.file goto :eof
    
por 09.09.2011 / 07:42