Автоматизувати створення дерева каталогів на основі дати


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%

Будь ласка, опублікуйте такий приклад, щоб ми могли спробувати його змінити
Voitcus

Якщо ви маєте на увазі створення папки під назвою "РРР / ММ / DD", це неможливо. оскільки ви не можете використовувати символи Slash / BackSlash у назві папки, якщо це не так, будь ласка, повідомте деталі.
Amirreza Nasiri

Я не маю на увазі одну папку з різними символами, я маю на увазі шлях каталогів.
schelego

Відповіді:


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якщо її немає.


Він створив цю структуру каталогів:C:\temp\8\01
circuitlego
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.