O que causa o erro da tarefa agendada 2147942402?

20

Server 2008 R2 (totalmente corrigido)

Estou tentando executar uma tarefa agendada para mover um tipo de arquivo especificado de C: \ Windows \ Temp para E: \ Foo_blah_blah_blah_blah \ Foo2 e, por algum motivo, estou recebendo o seguinte erro:

O Agendador de Tarefas falhou ao iniciar a instância "{fe0f148a-cece-44a0-a4d1-914aaf21daa8}" da tarefa "\ Move Temp Files" para o usuário "FOOBOX \ Administrator". Dados Adicionais: Valor do Erro: 2147942402

Alguma idéia de por que isso está acontecendo?

Detalhes adicionais:

  • A tarefa está configurada para ser executada como uma conta que possui autoridade para mover o arquivo.
  • A tarefa está configurada para executar se o usuário estiver conectado ou não. Falha nos dois cenários - mesmos erros.
  • A tarefa está configurada para ser executada no sistema operacional local (Windows Server 2008)
  • O comando é dividido em duas partes. Programa / script: moveAdicionar argumentos:C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\

Se eu executar esse mesmo comando move C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\no prompt de comando do Windows, ele funcionará bem.

o que estou perdendo?

Mike B
fonte
7
Bem, se você converter 2147942402 em hex, obtém 0x80070002, que significa "Arquivo não encontrado".
Ryan Ries

Respostas:

33

Como Ryan Ries apontou, 2147942402 se traduz em "Arquivo não encontrado" - que é uma resposta muito apropriada. Tente pressionar Win + R, colocar "mover" e pressionar enter - esse é o equivalente interativo do que sua tarefa está falhando.

O motivo é que MOVEnão é um programa, mas um comando nativo no cmd.

Deveria ser:

Programa: "cmd.exe"
Argumentos:"/c move C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\"

Mathias R. Jessen
fonte
1

O motivo é: a tarefa está configurada para ser excluída quando não estiver agendada para execução novamente. Isso está configurado na guia Configurações. A exclusão da tarefa é feita no tempo de expiração do acionador que dispara a tarefa. Se o tempo de expiração do gatilho for exatamente o mesmo que o horário de início do gatilho, pode (incidentalmente) acontecer que a tarefa seja excluída alguns segundos antes do disparo do gatilho. Isso causa o evento 101 com o código de razão 2147942402. A solução é definir o tempo de expiração do gatilho 1min mais tarde que o tempo de início do gatilho.

Tom
fonte
-2

Talvez seja o problema dos espaços em branco na linha de exemplo de ordem:

C: \ Arquivos de Programas \ Wireshark \ Wireshark.exe -i1 -k FAILS

"C: \ Arquivos de Programas \ Wireshark \ Wireshark.exe" -i1 -k OK

Sério
fonte