У меня есть каталог с *.wek файлами. Каждый день некоторое приложение добавляет там приблизительно 10 новых файлов. Я хочу заархивировать только те 10 новых файлов в определенное время суток. Я читал о механизме с 7 zip, но я не нашел, как я фильтрую файлы для дат поэтому только в этот день, файлы будут заархивированы.
Какая-либо справка?спасибо.
Я смущен тем, что Вы пытаетесь сделать.
Опция 1: Почему не только архивируют весь каталог? Процесс zip не заботится, было ли 10 файлов вчера и 10 новых, которые он добавил сегодня.
Опция 2: Создайте пакетный файл, который удаляет вчерашний zip-файл, затем создает новый на сегодняшний день.
Опция 3: Создайте пакетный файл, который архивирует *.wek файлы по одному. Если заархивированный файл уже существует, ничего не делайте в тот файл.
Код для опции 3:
:: Этот файл скопирует *.wek файлы в *.wek.zip
:: т.е. abc.wek заархивирован в abc.wek.zip
:: Если zip-файл соответствия уже существует, исходный файл не становится сохраненным.
:: т.е. если cde.wek.zip уже существует, то cde.wek не становится сохраненным
:: ВАЖНЫЙ:
:: измените \path\to\files (ниже) на корректный путь к Вашим файлам, которые должны быть сохранены
:: измените \path\to\archives (ниже, дважды) к корректному местоположению Вашей резервной папки
:: измените 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 "c:\path\to\archives\%%k.zip" "%% k"