none
Robocopy e Agendador de tarefas RRS feed

  • Pergunta

  • Opa pessoal boa noite,

    Estou com um problema que já testei de tudo mas ta complicado. Tenho um script simples que roda no windows 7 que executa o robocopy para copiar arquivos de uma unidade mapeada.

    A questão é que quando executo o script manualmente funciona tranquilo, porém quando executo pelo agendador gera um log dizendo que o caminho de origem não foi encontrado. Erro 3.

    Segue script e erro:

    @echo off

    set ano=%date:~6,4%

    @Rem make var nowDay
    FOR /F "TOKENS=1* DELIMS=/" %%A IN ('date/t') DO SET nowDay=%%A

    robocopy G:\%ano% d:\backup\gravacao\%ano% /MAXAGE:120 /MAXLAD:120 /S /COPY:DAT /DCOPY:T /MT:120 /R:00 /W:00 /V /Log+:D:\logs\loggr-%nowDay%.txt
    echo arquivos copiados
    echo.
    echo.
    echo criando lista de arquivos a serem deletados
    echo.
    FORFILES /S /p d:\backup\gravacao\%ano% /d -120 /C "CMD /C echo @FILE @FDATE" > D:\Logs\removegr-%nowDay%.txt

    echo.
    echo deletando arquivos
    echo.
    FORFILES /S /p d:\gravacao\%ano% /d -120 /c "CMD /C DEL @FILE /Q"

    echo.
    echo acessando pasta destino
    echo.

    D:\

    cd D:\backup\gravacao\%ano%

    echo.
    echo deletando pastas vazias
    echo.
    for /f "tokens=*" %%d in ('dir /ad/b/s ^| sort /R') do rd /q "%%d"


    exit

    Erro:

    -------------------------------------------------------------------------------
       ROBOCOPY     ::     Robust File Copy para Windows                              
    -------------------------------------------------------------------------------

      Iniciado: Sun Sep 07 00:42:26 2014

    2014/09/07 00:42:26 ERRO 3 (0x00000003) Obtendo Tipo de Sistema de Arquivos da Origem G:\2014\
    O sistema nÆo pode encontrar o caminho especificado.


       Origem - G:\2014\
         Dest : d:\backup\gravacao\2014\

        Arquivos: *.*
       
      Op‡äes: *.* /V /S /COPY:DAT /DCOPY:T /MAXAGE:120 /MAXLAD:120 /MT:120 /R:0 /W:0 

    ------------------------------------------------------------------------------

    2014/09/07 00:42:26 ERRO 3 (0x00000003) Acessando o Diret¢rio de Origem G:\2014\
    O sistema nÆo pode encontrar o caminho especificado.

    O que é curioso é que quando executo manualmente rodar normal, alguém tem alguma noção do que pode ser?

    att

    Fernando do Vale


    domingo, 7 de setembro de 2014 03:44

Respostas

  • Boa noite Fernando,

    Tudo depende da forma que você criou a tarefa.
    Porque se você criou a tarefa definido uma conta diferente onde não há o mapeamento por exemplo a conta "System", não irá funcionar.

    Uma sugestão seria colocar o caminho absoluto, no lugar do mapeamento;

    ou no inicio da sua bat coloque uma condição que verifica se o mapeamento existe, se não existir ele cria..

    ex.

    Net Use D: |find "\\server\PastaDeRede"
    IF %ERRORLEVEL% == 1 (Net Use D: \\server\PastaDeRede /PERSISTENT:YES)
    TimeOut 1 /NOBREAK>tmp	

     

    att, Aparecido Deveza

    • Sugerido como Resposta Paulo R S Rocha segunda-feira, 8 de setembro de 2014 12:02
    • Marcado como Resposta Fábio JrModerator quarta-feira, 10 de setembro de 2014 20:21
    domingo, 7 de setembro de 2014 23:52

Todas as Respostas

  • Boa noite Fernando,

    Tudo depende da forma que você criou a tarefa.
    Porque se você criou a tarefa definido uma conta diferente onde não há o mapeamento por exemplo a conta "System", não irá funcionar.

    Uma sugestão seria colocar o caminho absoluto, no lugar do mapeamento;

    ou no inicio da sua bat coloque uma condição que verifica se o mapeamento existe, se não existir ele cria..

    ex.

    Net Use D: |find "\\server\PastaDeRede"
    IF %ERRORLEVEL% == 1 (Net Use D: \\server\PastaDeRede /PERSISTENT:YES)
    TimeOut 1 /NOBREAK>tmp	

     

    att, Aparecido Deveza

    • Sugerido como Resposta Paulo R S Rocha segunda-feira, 8 de setembro de 2014 12:02
    • Marcado como Resposta Fábio JrModerator quarta-feira, 10 de setembro de 2014 20:21
    domingo, 7 de setembro de 2014 23:52
  • Opa Aparecido,

    No caso quando uso o caminho absoluto no robocopy ele gera o erro de acesso negado quando executado pelo schedule.

    No agendamento eu defini o mesmo usuário que está logado com as unidades mapeadas e gera esse erro de caminho não encontrado.

    Tive a luz de criar um usuário com o mesmo nome que utilizei para mapear as unidades no Windows, mesmo usuário e senha e defini ele como disparador da tarefa, coloquei o caminho absoluto e ta rolando.

    Obrigado!


    segunda-feira, 8 de setembro de 2014 14:54