Na minha máquina com Windows 7, posso executar algo como:
schtasks.exe /Change /TN "MyTaskName" /Disable
Mas / Disable parece não estar disponível no Windows XP - existe alguma maneira de desabilitá-lo na linha de comando?
Na minha máquina com Windows 7, posso executar algo como:
schtasks.exe /Change /TN "MyTaskName" /Disable
Mas / Disable parece não estar disponível no Windows XP - existe alguma maneira de desabilitá-lo na linha de comando?
Respostas:
O /disable
switch é apenas um recurso do Vista / 7 / 2008R2 / 2012 .
Você pode simplesmente renomear o .job
arquivo de tarefas 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 .bak
arquivo 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
C:\Windows\System32\schtasks.exe
binário de uma instalação 2003+. Coloque esse binário na máquina XP e chame-o usando seu caminho explícito. Acabei de testar com êxito a desativação de uma tarefa criada com o XP schtasks
usando o 2003 schtasks
.
Para obter o comportamento de execução única, você sempre pode codificar um script bat 'wrapper' que verifica se há um arquivo de bloqueio.
Crie o arquivo de bloqueio na primeira execução, e todos os que estiverem após o script do wrapper serão encerrados se encontrar o arquivo de bloqueio:
if exist Lock.file goto :eof