arquivo em lote para despejar dados do banco de dados e nomear dinamicamente o nome do arquivo

2

Eu tenho um processo em lote que despeja dados do meu banco de dados (windows 2008 r2) e gostaria de nomear dinamicamente meu arquivo com o dia da semana incluído.

isso é possível com um simples arquivo .bat?

se sim, como?

    
por Christopher Johnson 20.10.2011 / 01:45

1 resposta

0

Claro:

Supõe que você tenha sua configuração de data regional como tal:

  • Curto: M / d / aaaa
  • Long : dddd, MMMM dd, aaaa

No topo do seu arquivo de lote, você pode definir uma variável de ambiente chamada fname :

set fname=%date:~0,3%

Hoje (que é quarta-feira), fname seria definido como Qua . No seu arquivo de lote, você deve substituir o nome do arquivo estático por % fname%

Você pode adicionar texto estático a esse nome que muda dinamicamente com facilidade:

set fname=%date:~0,3%-backup.foo

fname seria definido como: Wed-backup.foo

Como comentei acima, você pode adicionar mais informações relacionadas à data:

set fname=%date:~0,3%-%date:~10,4%%date:~4,2%%date:~7,2%.foo

fname seria definido como: Wed-20111019.foo

Você pode adicionar um caminho precedendo a variável 'set fname' ou quando usar a variável% fname% no script: set fname=c:\backup\%date:~0,3%-%date:~10,4%%date:~4,2%%date:~7,2%.foo ou no ponto de uso: "c:\backup\%fname%"

Lembre-se de usar aspas se houver espaços no caminho ou no nome do arquivo.

    
por 20.10.2011 / 03:03