1

Привет и заранее спасибо. Я новичок в пакетных сценариях и хотел бы ежедневно выполнять следующие действия на моем сервере. Мне нужно убедиться, что путь к каталогу year/month/day существует в данной подпапке, если не создать его.

Я исследовал онлайн, но я мог только найти сценарии, которые делают имена каталогов типа yyyymmdd и создают только один уровень в структуре дерева каталогов.

Я нашел следующий пример в этом блоге.

:: 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%

1 ответ1

1

Вы можете использовать переменные для хранения информации, а затем вызывать ее для создания структуры каталогов. Я использовал следующее как часть скрипта для резервного копирования некоторых основных файлов в структуру каталогов, аналогичную описанной вами.

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%"

Например, сегодня он проверит, существуют ли каталоги, а затем создайте структуру каталогов C:\temp\2013\08\23 если это не так.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .