Como você agendar uma tarefa (usando schtasks.exe) para executar uma vez e excluir a si mesmo?

4

Eu quero agendar uma tarefa no prompt de comando (usando schtasks.exe ) para executar uma vez e excluir a entrada de tarefa da Biblioteca Agendador de Tarefas após a conclusão.

Depois de analisar o guia de uso, decidi por este comando:

schtasks /create /TN SomeTaskName /TR "notepad.exe" /SC ONCE /ST 12:00 /Z

... mas isso me dá esse erro (estou executando o Windows 10)

ERROR: The task XML is missing a required element or attribute.
(40,4):EndBoundary:

Pesquisando on-line, descobri este artigo da base de conhecimento que sugere o uso do /V1 mude para se livrar do erro, mas ao adicionar /V1 me pedem a senha do usuário atual para agendar a tarefa. Eu não quero isso.

Existe alguma maneira de agendar uma tarefa para ser executada uma vez e, em seguida, excluída da biblioteca de tarefas após a conclusão da execução?

Eu tentei isso, mas não funcionou:

schtasks /create /TN SomeTaskName /TR "schtasks /delete /TN SomeTaskName /F" /SC ONCE /ST 12:00

Uma solução kludgy que eu criei é o seguinte:

schtasks /create /TN SomeTaskName /TR "notepad.exe" /SC MINUTE /MO 1 /ST 12:00 /ET 12:02 /Z

Tem o efeito colateral de executar a tarefa três vezes antes de parar.

    
por Vinayak 11.02.2016 / 14:53

2 respostas

2

Você pode querer usar o Powershell, já que está no Windows 10. Acredito que você pode usar Unregister-ScheduledTask -TaskName applog -Confirm:$false para excluir uma tarefa agendada sem um aviso de confirmação.

Alguém denunciou um problema semelhante , ao qual um usuário recomendou a adição de -Compatibility V1 (embora eu não tenha certeza se isso ainda gera um prompt de credencial de usuário).

    
por 11.02.2016 / 16:17
0

A Microsoft sugere adicionar /V1 ao seu comando para contornar este problema.

link

Isso lhe daria:

schtasks /create /TN SomeTaskName /TR "notepad.exe" /SC ONCE /ST 12:00 /V1 /Z
    
por 20.12.2016 / 17:37