A tarefa agendada do Windows 7 retorna 0 x 2

6

Eu tenho tarefas agendadas idênticas em execução no Windows XP Pro e Windows 7. O XP Pro é executado corretamente, o Windows 7 sempre retorna 0x2 (o que significa, "O sistema não pode encontrar o arquivo especificado"; no entanto, executando a partir do linha de comando não é problema) na coluna Resultado da Última Execução da IU do Agendador de Tarefas.

A tarefa agendada executa um arquivo .bat diariamente. O arquivo .bat contém uma chamada para executar um script Perl. Como afirmei no parágrafo anterior, ele é executado no XP sem nenhum problema, mas no Windows 7, sem dados.

A tarefa no Windows 7 está definida para "executar se o usuário está conectado ou não." Neste caso sou eu, sou o único usuário do sistema. Ele também está configurado para "Executar com privilégios mais altos". E isso não está oculto. O arquivo .bat é executado perfeitamente a partir da linha de comando - ele chama o script Perl como esperado e o script Perl faz a sua coisa.

Eu pesquisei por toda parte procurando uma resposta apropriada para essa questão. Até agora não encontrei nada. O que diabos está acontecendo com essa tarefa agendada do Win7? Estou pronto para tirar meu cabelo.

    
por demmith 03.12.2010 / 19:19

5 respostas

6

Eu também tive esse problema. 0x2 do agendador de tarefas parecia dizer que não conseguiu encontrar o arquivo em lotes. Isso era falso - adicionei algumas setas de pipe (> >) para enviar meu arquivo de lote para um arquivo de log e, em seguida, executei a tarefa agendada.

Apesar de obter um 0x2 no Agendador de Tarefas, descobri que o arquivo em lote tinha sido executado, mas havia encontrado um erro (que aparecia no arquivo de log).

Outra coisa a tentar é executar a tarefa como SYSTEM ou NETWORK SERVICE.

    
por 22.10.2013 / 05:41
2

Acabei de ter este mesmo problema e resolvi-o. Na guia Ações, em Programa / Script: basta colocar o nome do seu arquivo em lotes. Na seção "Iniciar em (opcional):", coloque o caminho para o arquivo sem aspas e sem barra final.

Exemplo abaixo para executar um arquivo test.bat de uma pasta de teste na raiz de C:

Programa / Script: test.bat

Iniciar em (opcional): C: \ Test

    
por 05.02.2014 / 17:43
1

Eu estava tentando sincronizar um par de pastas com o SyncToy 2.1 em duas estações de trabalho do Windows 7 SP1. Inicialmente, naveguei pelo arquivo e adicionei os argumentos para a tarefa. Ele retornou um código de 0x2 . O Microsoft TechNet recomenda o uso do campo "Iniciar em" para garantir que o nome do arquivo seja resolvido para o local correto. Eu copiei o caminho do diretório SyncToy sem aspas ou uma barra na caixa "Start In", salvei e executei a tarefa. O resultado foi sucesso, o código 0x0 !

    
por 12.05.2011 / 20:09
1

No meu caso, eu estava usando uma unidade mapeada como um destino, mas a unidade não foi mapeada no contexto do script (o usuário fez logoff), então eu tive que mapear a unidade dentro do script antes de poder usá-la mapeamento.

Exemplo:

@echo off
net use Z: \server\share /u:domain\username *password*
robocopy c:\folder Z:\backup /o /p /t /i /o /n /s
    
por 24.01.2016 / 22:36
0

Similarmente ao @Levi, eu estava usando uma unidade de rede mapeada. No entanto, no meu caso, a solução mais simples foi alterá-lo usando caminhos UNC. Por exemplo, em vez de usar este argumento:

"W:\blah\script.py"

Eu agora uso esse argumento:

"\file-server-02\path\blah\script.py"
    
por 21.03.2018 / 22:27