«

»

Jan
21
2008

Criar arquivos no DOS/Windows com DATA

Algumas vezes é necessário utilizar o Windows, e algumas dessas vezes, é necessário automatizar algumas tarefas.

Vou resumir: Imagine que você possui um arquivo de LOTE (.BAT), e nesse arquivo você precisa por exemplo criar uma pasta ou um arquivo que contenha a data do dia.

Isso pode ser automatizado da seguinte maneira.


md NOME-PASTA_%date:~4,220080121:~7,220080121:~12,2%

O exemplo acima, pode ser implmentado facilmente em um script de backup.

Permanent link to this article: http://www.brunorusso.eti.br/brusso-2/criar-arquivos-no-doswindows-com-data

8 comments

  1. Gian says:

    Depois que faço o backup eu quero que o mesmo bat mova o arquivo que ele criou com a data ao invés do nome.
    Por exemplo:
    echo
    xcopy /y “C:\pasta” “C:\detino”
    winrar a ARQUIVOCOMPACTADO “c:\destino”
    move “C:\destino\*.rar” “C:\pasta”

    como vou colocar a sua variavel para ele mover o arquivo *.rar com a data que eu criei!!!!

    Obrigado

  2. brusso says:

    Gian,

    você tentou utilizar o seguinte comando:

    cp C:\NOME-PASTA_%date:~4,220080121:~7,220080121:~12,2% D:\

    Acredito que isso resolva o seu problema.

  3. Gian says:

    Esse é um bat de backup, mas na hora que eu crio o arquivo Backup.rar eu queria mudar ele de pasta mas ao invés de o nome Backup.rar queria que fosse a data.
    Por exemplo: 18_12_2008.rar

    echo
    Title Backup
    color b
    :ini
    echo. —————————————————————
    echo.
    echo.
    echo. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    echo. @ INICIANDO O BACKUP DOS ARQUIVOS @
    echo. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    echo.
    echo.
    echo. —————————————————————
    :aff
    xcopy /e /h /g /c /y “C:\pasta” “C:\destino”
    winrar a Backup “C:\destino”
    md “C:\pasta_%date%”
    move /y C:\*.rar C:\pasta
    cd C:\
    cd destino
    rd /s /q “C:\destino”
    cd C:\
    pause

    a parte que vc me falou eu tentei usar, mas diz que não é reconheçido como um comando interno.
    usando md “C:\pasta_%date%” ele cria a pasta 18, depois a pasta 12 e a pasta 2008 uma dentro da outra.

    se acaso precisar saber como usei o winrar eu colo o winrar.exe na pasta C:\Windows\System32

    Por favor, ve se tem algum jeito de eu fazer isto.

    Obrigado desde já pela sua boa vontade.

  4. Jeffy says:

    Gian, não se vc ja resolveu seu problema mencionado de backup, mas se vc utilizar o comando:

    md NOME_PASTA_%date:/=-%
    ele vai criar uma pasta com NOME_PASTA_DD-MM-AAAA, trocando as barras que estavam ocasionando o problema na criação da pasta pelo hifen.

  5. Gian says:

    Muito bom isso Jeffy, ajudou bastante, mas eu consegui pelo winrar mesmo, pois pesquisei e vi que no Winrar tem uma linha completa de comandos, por exemplo quando quero criar um arquivo com data.

    (exect)(Compacta) (Data mes e ano)(Nome do arq)(Local p/comp)
    WinRAR a -ag–dd-mm-yyyy Backup “C:\Nova Pasta”

    Muito obrigado pela atenção mesmo!!!!!

    “A informação é a fonte do conheçimento”

  6. Alexandre says:

    Caros …

    Estou tentando executar o seguinte comando usando o que foi proposto aquí , mais ele está gerando além da pasta com a data , uma outra pasta com o dia da semana , como corrigir isto ? além do que não consegue copiar o arquivo de backup para dentro dela , alguém poderia ajudar ?

    Segue o comando :

    set nomepasta=%date:/=-%
    md C:\BackACDL\backups\%nomepasta%
    set nomepasta=%date:/=-%
    copy C:\BackACDL\bancoAC\*.* C:\BackACDL\backups\%nomepasta%
    pause

  7. Diego says:

    Acho que não é a forma masi eficaz mas isso aqui resolve

    set nomepasta=%date:/=-%
    MD C:\BackACDL\backups\%nomepasta%
    RD dom
    RD seg
    RD ter
    RD qua
    RD qui
    RD sex
    RD sab
    set nomepasta=%date:/=-%
    copy C:\BackACDL\bancoAC\*.* C:\BackACDL\backups\%nomepasta%
    pause

  8. lucas says:

    Usando %date:/=-% grava com o dia da semana (seg, terc, …) agora se vc usar “date:/=-%” (com aspas), grava com a data completa ex. 17-09-2010.
    Se quiser gravar com hora basta acrescentar “%time::=-%”

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>