Skip to content

Instantly share code, notes, and snippets.

@fernandofig
Created May 30, 2018 23:13
Show Gist options
  • Save fernandofig/a0cc2d78a9d7d9c7ae2d744fb9501941 to your computer and use it in GitHub Desktop.
Save fernandofig/a0cc2d78a9d7d9c7ae2d744fb9501941 to your computer and use it in GitHub Desktop.
Referência de uso de geração de pastas / arquivos com timestamp
@ECHO OFF
setlocal
FOR /F "tokens=1-4 delims=/:," %%a in ("%TIME%") do (set MYTIME=%%a%%b%%c%%d)
REM DEPENDENDO DE QUAL O IDIOMA OU COMO ESTIVER CONFIGURADO AS CONFIGURAÇÕES REGIONAIS DO WINDOWS, PODE SER NECESSÁRIO USAR A
REM PRIMEIRA OU SEGUNDA LINHA ABAIXO. COMENTE/DESCOMENTE A QUE FUNCIONAR MELHOR
SET TS=%date:~6,4%%date:~3,2%%date:~0,2%_%MYTIME%
REM SET TS=%date:~10,4%%date:~4,2%%date:~7,2%_%MYTIME%
REM AJUSTE PARA A PASTA BASE QUE SERA USADA (ONDE SERA CRIADO AS SUBPASTAS)
SET OUTDIR=C:\AMOSTRAS\%TS%
REM AJUSTE PARA O NOME DO ARQUIVO A SER USADO
SET OUTFILE=SAIDA_SERIAL.TXT
IF EXIST %OUTDIR%\ (
REM ISTO É UM FALLBACK PARA O CASO DO DIRETORIO EXISTIR - SUFIXAR ELE COM UM NUMERO NA FRENTE.
REM O DIRETORIO EXISTIR É MUITO IMPROVAVEL (PORQUE A RESOLUCAO DA HORA É OBTIDA ATÉ NIVEL DE MILISEGUNDO), MAS
REM ESTATISTICAMENTE POSSIVEL (EX: VARIAS INSTANCIAS DO BATCH RODAREM EM PARALELO)
FOR /L %%c in (1,1,100) DO (
IF NOT EXIST %OUTDIR%_%%c\ (
SET OUTDIR=%OUTDIR%_%%c
GOTO loopBreak
)
)
)
:loopBreak
MKDIR "%OUTDIR%"
SET OUTFILE_FULLPATH=%OUTDIR%\%OUTFILE%
REM ABAIXO VAI COMANDO QUE DA SAIDA AO ARQUIVO. CERTIFIQUE-SE QUE O COMANDO POSSA ESPECIFICAR O ARQUIVO DE
REM SAIDA INCLUINDO O CAMINHO COMPLETO, OU QUE VOCE POSSA REDIRECIONAR A SAIDA COMO ABAIXO
ECHO "OLA MUNDO" > "%OUTFILE_FULLPATH%"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment