Вы можете сделать это с помощью DotNetZip - изначально он создавался как библиотека для использования программистами, но примеры приложений, созданные и поставляемые с библиотекой, стали очень полезными сами по себе.
Один из «примеров» называется zipit.exe - консольный инструмент. Укажите несуществующий zip-файл для создания нового или укажите существующий zip-файл для его обновления.
zipit.exe ZipArchive.zip c:\data\folder1
Вы можете указать одно или несколько имен файлов, каталогов или логическое выражение, которое описывает, какие файлы включать. Для выражений:
name = *.jpg
любой файл .jpg.
mtime > 07/01/2009
любой файл с последним измененным временем после полуночи 1 июля 2009 года. Существует также ctime и atime для времени создания и времени доступа.
ctime > 07/01/2009:07:53:00
любой файл с созданным временем после 7:53 1 июля 2009 г.
size > 320mb
любой файл размером более 320мб. Вы также можете использовать kb или gb . Или пропустите символы для размера в байтах. И вы можете использовать <или = как операции. </p>
attr != H
любой файл, для которого не установлен атрибут Hidden. Другие атрибуты включают S = system, R = Только чтение, A = Архив. Конечно, вы можете проверить, что атрибут также включен (используя = вместо! =).
attr != H and size > 320mb
включите файлы, которые удовлетворяют обоим условиям. Вы также можете использовать ИЛИ в качестве соединения. Используйте скобки для группировки сложных выражений.
name = *.jpg or name = *.gif
включите файлы, которые удовлетворяют одному или другому условию.
(name = *.jpg) or (name = *.gif)
такой же, как указано выше.
(mtime >= 07/01/2009) and (mtime < 07/02/2009)
любой файл, измененный 1 июля. С полуночи до полуночи.
(name = *.jpg) AND (mtime >= 07/01/2009) and (mtime < 07/02/2009)
любой файл .jpg, измененный 1 июля.
(name = *.jpg) and (size >= 100kb) and (mtime >= 07/01/2009) and (mtime < 07/02/2009)
любой файл .jpg размером 100 КБ или более, измененный 1 июля.
С помощью других параметров инструмента zipit.exe вы также можете:
- укажите, хотите ли вы пересечь точки повторного анализа (например, символические ссылки или соединения, например «Моя музыка»).
- каталоги рекурсии или нет (по умолчанию НЕ)
- шифрование почтового индекса с помощью AES или с помощью «обычного» почтового шифрования
- указать размер сегмента для создания составного или сегментированного zip-файла.
- создать самораспаковывающийся архив
Примеры:
zipit.exe Archive.zip -D c:\project1 -r+ "(name = *.xlsx) and (mtime >= 07/01/2009) and (mtime < 07/31/2009)"
- Создайте файл Archive.zip, содержащий все файлы .xslx в иерархии каталогов c: \ project1, которые были изменены в июле.
zipit.exe Unpack.exe -sfx w -D project2 -r+ "(name = *.pdf) and (size > 100kb)"
- Создайте самораспаковывающийся exe-файл GUI с именем Unpack.exe, содержащий все файлы .pdf в иерархии каталогов project2, размер которых превышает 100 КБ.
DotNetZip бесплатен.
Все эти функции также доступны в .NET-интерфейсе библиотеки. И еще есть инструмент с графическим интерфейсом.