6

На работе каждое утро мне приходится создавать несколько папок с файлами (используя формат даты YYYYMMDD качестве имени папки с файлами) в разных каталогах нашей сети для разных отделов. Это настоящая боль и время, и я хотел бы автоматизировать этот процесс. Итак, мой вопрос:

Кто-нибудь знает, как я могу написать скрипт, который использует текущую системную дату в формате YYYYMMDD и создает несколько папок в разных сетевых каталогах, причем каждая папка называется датой в формате YYYYMMDD ?

Заранее спасибо за ваши ответы.

3 ответа3

9

Создайте командный файл, который выглядит следующим образом:

@echo off
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd=%%k%%j%%i
echo Date: %yyyymmdd%

mkdir \\server1\share1\subdir1\%yyyymmdd%
mkdir \\server1\share2\subdir2\%yyyymmdd%
mkdir \\server2\share3\subdir3\%yyyymmdd%
...

Предупреждение: формат даты (yyyymmdd = %% k %% j %% i) зависит от ваших региональных настроек. Поскольку я использую французский формат даты (дд / мм / гггг), я должен использовать « %% k %% j %% i » в качестве формата (%% i = день, %% j = месяц, %% j = год).

Если ваши региональные настройки настроены на стиль США (мм / дд / гггг), вы должны использовать " %% k %% i %% j " (%% i = месяц, %% j = день, %% j = год),


Если вы также хотите включить время, используйте это:

@echo off
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd=%%k%%j%%i
echo Date: %yyyymmdd%
for /F "tokens=1-3 delims=: " %%i in ('echo %time%') do set hhmmss=%%i%%j%%k
echo Time: %hhmmss%

mkdir \\server1\share1\subdir1\%yyyymmdd%%hhmmss%

Дата хранится в переменной %yyyymmdd% , время в %hhmmss% . То же самое замечание, что и выше для даты, не применимо для данного времени.

Вы можете использовать разделитель между датой и временем: например, %yyyymmdd%_%hhmmss% .

0

Попробуйте эти варианты:

set name=%date%
set name2=%name:~6,4%-%name:~3,2%-%name:~0,2%
set tm=%time%
set name3=%tm:~0,2%-%tm:~3,2%
set finname=%name2%_%name3%
mkdir \\Server\Share1\Subfolder1\%finname%
0

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

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