Если я правильно понимаю, вы хотите взять определенную папку, созданную в формате ГГГГММДД, и сжать содержимое. Созданный zip-файл также должен быть помещен в эту папку.
На самом базовом уровне вы можете выполнить это с помощью команды, подобной следующей
"c:\Program Files\7-Zip\7z.exe" a x:\Logs\HS\20121010\20121010.zip X:\Logs\HS\20121010\*
ПРИМЕЧАНИЕ. Для использования вышеуказанной команды необходимо установить 7-zip.
С помощью приведенной выше команды вам придется вручную заполнять ГГГГММДД каждый раз, когда вы хотите заархивировать новую папку с датами.
Это может быть сделано еще дальше, и вы можете изменить команду, чтобы использовать текущий ГГГГММДД для сегодняшней даты. Ключом к этому является использование переменной% date% в DOS. Вы можете прочитать больше информации об этой переменной, набрав set /?
, Чтобы отформатировать дату как ГГГГММДД, нам нужно взять подстроку переменной %date%
следующим образом:
echo %date:~10,4%%date:~4,2%%date:~7,2%
Приведенная выше команда должна вывести дату в формате ГГГГММДД.
Наконец, мы можем объединить эти две команды, чтобы сгенерировать однострочную команду, которая заархивирует все файлы в каталоге с сегодняшней датой (в формате YYYMMDD).
"c:\Program Files\7-Zip\7z.exe" a x:\Logs\HS\%date:~10,4%%date:~4,2%%date:~7,2%\%date:~10,4%%date:~4,2%%date:~7,2%.zip X:\Logs\HS\%date:~10,4%%date:~4,2%%date:~7,2%\*
Еще один шаг можно предпринять, чтобы автоматизировать это, добавив вышеуказанную команду в качестве запланированной задачи в Windows.