Automatize a criação da árvore de diretórios com base na data

1

Oi e obrigado antecipadamente. Sou novo em lote de scripts e gostaria de realizar a seguinte ação diariamente no meu servidor. Eu preciso ter certeza de que o caminho do diretório year/month/day exista em uma determinada subpasta, se não criá-lo.

Eu pesquisei on-line, mas só encontrei scripts que criam nomes de diretório yyyymmdd type e criam apenas um nível na estrutura da árvore de diretórios.

Encontrei o seguinte exemplo neste blog .

:: Auto directory date batch (MMDDYYYY format)
:: First parses month, day, and year into mm , dd, yyyy formats and then combines to be  DDMMYYYY
:: Setups %date% variable
:: @author Deepu Mohan Puthrote www.deepumohan.com
@echo off
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET date=%dd%%mm%%yyyy%
echo New folder name %date%
MKDIR %date%
    
por circuitlego 23.08.2013 / 19:26

1 resposta

1

Você pode usar variáveis para armazenar as informações e chamá-las para criar a estrutura de diretórios. Eu usei o seguinte como parte de um script para fazer backup de alguns arquivos básicos em uma estrutura de diretório semelhante à descrita.

set drive=C:\temp
set year=%date:~10,4%
set month=%date:~4,2%
set day=%date:~7,2%

if not exist "%drive%\%year%\%month%\%day%" MD "%drive%\%year%\%month%\%day%"

Por exemplo, hoje isso verificará se os diretórios existem e, em seguida, criará a estrutura de diretórios C:\temp13 , se não existir.

    
por 23.08.2013 / 21:17