none
arquivo pra back up .bat RRS feed

  • Pergunta

  • pessoal PRECISO DE UMA AJUDA

    FIZ ESSE .BAT

    @echo off
    CLS
    ECHO ************************************************************

    ECHO.
    ECHO Efetuando copia dos arquivos....aguarde......!
    ECHO.

    xcopy C:\temp /d /e /c /i /h /r /k /y "C:\01_CARTOGRAFIA\03_GILMAR\03_DOCUMENTACAO\CONTROLE\"

    PRA FAZER BACK UP DOS ARQUIVOS, POREM QUANDO COPIO ELE NAO CRIA OUTRO ELE SUBSTITUE O MESMO, EU QUERIA QUE ELE COPIASSE E ALTERASSE O NOME, DOS ARQUIVOS.

    ME AJUDEM !

    AGRADEÇO.


    quarta-feira, 17 de setembro de 2014 19:07

Todas as Respostas

  • Olá Gilmar!

    Nesse caso, o parâmetro "/y" que você utilizou no comando xcopy faz com que ele substitua os arquivos sem emitir nenhum aviso. Sugiro que você consulte nesse link o comando xcopy e o que cada atributo implica na execução do comando: https://support.microsoft.com/kb/289483/pt-br?wa=wsignin1.0

    Quanto ao seu script em si, pelo que entendi (me corrija se estiver errado) você quer copiar os arquivos da pasta C:\temp para o diretório 01_CARTOGRAFIA\03_GILMAR\03_DOCUMENTACAO\CONTROLE\, e não substituí-los, ou seja, manter um histórico de backup. Nesse caso eu sugiro que você faça da seguinte forma:

    Substitua o seu script pelo abaixo:

    CLS
    ECHO ************************************************************
    ECHO.
    @echo off
    MD "C:\01_CARTOGRAFIA\03_GILMAR\03_DOCUMENTACAO\CONTROLE\Backup_%date:~0,2%_%date:~3,2%_%date:~-4%"
    ECHO Compactando arquivos....aguarde......!
    ECHO.
    xcopy C:\temp /d /e /c /i /h /r /k  "C:\01_CARTOGRAFIA\03_GILMAR\03_DOCUMENTACAO\CONTROLE\Backup_%date:~0,2%_%date:~3,2%_%date:~6,4%"


    Nesse caso, esse script irá criar uma pasta chamada Backup_dia_mes_ano, e irá copiar o conteúdo da pasta C:\temp para essa pasta criada. Lembrando que,  caso seu windows não for 64 bit's será necessário alterar os atributos.

    %date:~0,2% para %date:~4,2%

    %date:~3,2% para %date:~7,2%

    %date:~6,4% para %date:~10,4% 

    Gostaria de afirmar que inserir esses comandos imaginei que você queira realizar backup em datas diferentes (diário, semanal, etc). Se for realizar vários backups no dia, o nome da pasta ficará o mesmo, e consequentemente irá sobreescrever (ao menos que você tire o atributo "-y" do comando copy, o que eu acho pouco provável que aconteça. Também afirmo que apenas acrescentei no seu script a criação da pasta e o comando para copiar para a pasta nomeada. Seria interessante você acessar o link que inseri no começo dessa resposta e conferir se todos os atributos que você inseriu nesse comando (/d /e /c /i /h /r /k /y ) são necessários para atender o que você precisa.

    Caso não seja o que você precisa ou queira mais alguma informação responda nesse tópico, e caso a resposta seja satisfatória, peço, por favor que classifique-a.

    Até a próxima!

    • Sugerido como Resposta lucasbortolatto terça-feira, 25 de novembro de 2014 12:39
    quinta-feira, 30 de outubro de 2014 16:42