1

У меня есть каталог с * .wek файлами. Каждый день какое-то приложение добавляет туда около 10 новых файлов. Я хочу архивировать только те 10 новых файлов в определенное время суток. Я читал о 7-почтовом механизме, но я не нашел, как фильтровать файлы по датам, поэтому только файлы за этот день будут заархивированы.

Любая помощь? Благодарю.

1 ответ1

1

Я запутался в том, что ты пытаешься сделать.

Вариант 1. Почему бы просто не сжать весь каталог? Процесс zip не имеет значения, если вчера было 10 файлов и 10 новых, которые он добавил сегодня.

Вариант 2. Создайте пакетный файл, который удаляет вчерашний zip-файл, а затем создает новый на сегодняшний день.

Вариант 3. Создайте командный файл, который архивирует файлы * .wek по одному. Если заархивированный файл уже существует, ничего не делайте с этим файлом.

Код для варианта 3:

:: Этот файл будет резервировать * .wek файлы в * .wek.zip

:: то есть abc.wek заархивирован в abc.wek.zip

:: Если соответствующий zip-файл уже существует, исходный файл не будет скопирован.

:: т.е., если cde.wek.zip уже существует, то cde.wek не будет сохранен

:: ВАЖНЫЙ:

:: измените \ путь \ на \ файлы (ниже) на правильный путь к вашим файлам, для которых необходимо создать резервную копию

:: изменить \ путь \ на \ архивы (ниже, дважды) на правильное расположение вашей резервной папки

:: измените c:\tools\7zip\7za.exe (ниже) на правильный путь к инструменту командной строки 7-zip ::

:: убедитесь, что мы на диске C

C:

:: перейти в наш каталог данных

cd \path \to \files

:: создавать резервные копии

для %% k в (* .wek) сделать, если не существует, "c:\path\to\archives\%% k.zip" c:\tools\7zip\7za.exe a "c:\path\to\archives\%% k.zip "" %% k "

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