sexta-feira, 3 de dezembro de 2010

.bat para renomear arquivos com a data atual

Semana passada precisei dar uma volta ao "Túnel do tempo", depois de jogar Quake, Duke Nukem 3d, e alguns outros clássicos de 32 e 16 bits, nunca pensei que voltaria ao velho DOS, mas enfim, eu estava errado, e nestes três típicos colocarei algumas dicas que você pode precisar um dia =)

Me deparei com a seguinte situação, utilizando a ferramenta nativa de Backup do windows server 2003, ntbackup, diariamente criamos os backup's dos servidores, bastando apenas que uma pessoa no período noturno renomeie os mesmos com a data que ele foi feito, o problema é que aos finais de semana ninguém está disponível para executar esta tarefa, e também, caso o funcionário do período noturno falte, o backup simplesmente substitui o arquivo, para resolver isso dei uma pesquisada e descobri como renomear automaticamente através de um arquivo.bat

Para renomear automaticamente arquivos no Windows Server 2003

setlocal enabledelayedexpansion
for /f "tokens=2 delims= " %%a in ('date /t') do set date=%%a
set date=%date:/=-%
ren teste.txt teste-%date%.txt

Para renomear automaticamente arquivos no Windows XP

@echo off&setlocal enabledelayedexpansion
for /f "tokens=2 delims= " %%a in ('date /t') do set data=%%a
set data=%data:/=-%
ren teste.txt teste-%data%.txt

O porque da diferença, no meu caso, a data do servidor estava em inglês, e devido a aplicações como SQL server e Servidor Apache, preferi não arriscar mudar as configurações regionais.

Salve o que você preferir em um arquivo .bat, e agende no gerenciador de tarefas.

O resultado ao executar o arquivo .bat será teste-03-12-2010.txt  no caso de ele ser executado hoje

Lembrando que o arquivo deverá estar na mesma pasta do arquivo, ou então adicione um comando no inicio do arquivo para executá-lo a partir de outra pasta, ex

cd c:/pasta/pasta

facebook

Postagens populares