- Регистрация
- 04.04.2015
- Сообщения
- 3 835
- Благодарностей
- 3 552
- Баллы
- 113
Пакетная архивация файлов
Где это может пригодится? Например:
Для этой цели мы будем использовать архиватор 7zip, который является бесспорным лидером по качеству компрессии. Да и к тому же он бесплатный
Переходим сюда: http://www.7-zip.org/download.html
И скачиваем 7-Zip Command Line Version
Извлекаем 7za.exe в любую директорию, например, в корень диска C:\, а далее мы поиграемся с командами управления, выполнять которые мы можем, как через Свой код -> Запуск программы, так и через C# кубик.
1 вариант:
«Исполняем файл» - Здесь мы указываем путь до 7za.exe, который мы распаковали ранее.
«Параметры запуска» - А тут расположатся наши команды-параметры (далее Аргументы).
2 вариант:
В проекте должны быть созданы переменные: saveDir, command, zipName и source.
Создание архива
Создание архива начинается с команды «a»
Для архивации файлов readme.txt и movie.avi в директории /home/, строка будет выглядеть следующим образом:
Если необходимо положить в архив файлы определенного формата, можете воспользоваться маской *.расширение. Чтобы положить все файлы txt и xlsx формата, находящиеся в папке /home/, выполним:
Или же может возникнуть обратная ситуация – исключить некоторые файлы (например, все файлы формата logs), тогда аргументы примут следующий вид:
Для упаковки всего содержимого директории /home/, пишем:
Архив будет создан в подпапке «Список архивов» корневой директории шаблона.
Можно использовать абсолютный/относительный путь, если не хотите сохранять по стандартному пути, например:
или
В случае архивации всей директории, не следует указывать путь, как ./home/*, поскольку файлы/папки типа ./home/.htaccess не будут добавлены в архив.
Дополнительные опции архивирования
-r включает рекурсию
-ssw принудительная упаковка файло
-t устанавливает формат архива на выходе
Например, -t7z выдаст 7z архив (используется по умолчанию).
Также доступны и другие форматы: zip, tar, gzip, wim, xz и bzip2.
-mx эта опция отвечает за метод компрессии (за качество сжатия):
Как все это будет выглядеть:
-v нужно разделить архивы на части? Не проблема!
Для тонкой настройки процесса архивации, можно использовать параметры -mfb -md –ms:
Требуется защита архива?:
Извлечение архива
Распаковка архива начинается с команды «x»
Извлечь архив в подпапку «Список архивов» корневой директории шаблона:
Если архив разбит на несколько частей (томов), используйте самый первый:
Для того, чтобы извлечь содержимое в другую директорию, воспользуйтесь командой -o
Просмотр содержимого архива
Чтобы посмотреть содержимое архива, используется команда «l»
Ознакомиться со всеми возможностями и командами можно через командую строку: 7za.exe –help или по ссылке: http://www.dotnetperls.com/7-zip-examples
Где это может пригодится? Например:
- Можно по завершению работы шаблона упаковывать результат в архив и отправлять на почту (себе или клиенту).
- Бекапы Hot!
- Для последующей загрузки (например, на FTP)
Для этой цели мы будем использовать архиватор 7zip, который является бесспорным лидером по качеству компрессии. Да и к тому же он бесплатный
Переходим сюда: http://www.7-zip.org/download.html
И скачиваем 7-Zip Command Line Version
Извлекаем 7za.exe в любую директорию, например, в корень диска C:\, а далее мы поиграемся с командами управления, выполнять которые мы можем, как через Свой код -> Запуск программы, так и через C# кубик.
1 вариант:
«Исполняем файл» - Здесь мы указываем путь до 7za.exe, который мы распаковали ранее.
«Параметры запуска» - А тут расположатся наши команды-параметры (далее Аргументы).
2 вариант:
Код:
var process = new System.Diagnostics.Process {
StartInfo = new System.Diagnostics.ProcessStartInfo {
UseShellExecute = false,
CreateNoWindow = true,
RedirectStandardError = true,
RedirectStandardInput = true,
RedirectStandardOutput = true,
FileName = "cmd.exe",
WorkingDirectory = project.Directory+"\\"+project.Variables["f_output"].Value,
Arguments = @"/c C:\7za.exe "
+project.Variables["command"].Value+" "
+project.Variables["zipName"].Value+" "
+project.Variables["source"].Value
+" | findstr /I /P /V \"Compressing 7-Zip\""
}
};
process.Start();
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
process.Close();
process.Dispose();
return output;
- saveDir – рабочая папка;
- command – набор параметров (аргументов);
- zipName – название архива;
- source – путь к файлам, которые будем архивировать.
Создание архива
Создание архива начинается с команды «a»
Для архивации файлов readme.txt и movie.avi в директории /home/, строка будет выглядеть следующим образом:
Код:
a название_архива.7z и /home/ readme.txt /home/movie.avi
Код:
a название_архива.7z /home/*.txt /home/*.xlsx
Код:
a название_архива.7z –r -x!*.logs /home/
Код:
a название_архива.7z /home/
Можно использовать абсолютный/относительный путь, если не хотите сохранять по стандартному пути, например:
Код:
a C:/архивы/название_архива.7z
Код:
a /котики/название_архива.7z
Дополнительные опции архивирования
-r включает рекурсию
-ssw принудительная упаковка файло
-t устанавливает формат архива на выходе
Например, -t7z выдаст 7z архив (используется по умолчанию).
Также доступны и другие форматы: zip, tar, gzip, wim, xz и bzip2.
-mx эта опция отвечает за метод компрессии (за качество сжатия):
- -mx0 - Без компрессии
- -mx1 - Очень быстрая компрессия
- -mx3 - Быстрая компрессия
- -mx5 - Нормальная компрессия
- -mx7 - Максимальная компрессия
- -mx9 - Ультра компрессия
Как все это будет выглядеть:
Код:
a -t7z –ssw –mx7 –rназвание_архива /home/
- b – байты
- k – килобайты
- m – мегабайты
- g – гигабайты
Код:
a -t7z –ssw –mx5 –v1024k название_архива /home/
Код:
a -t7z –ssw –mx5 –v7m название_архива /home/
Код:
a -t7z –ssw –mx5 –v3g название_архива /home/
- -mfb=64 – кол-во байт в конце (для LZMA алгоритма)
- -md=32m – устанавливает размер словаря равным 32мб
- -ms=on – включает «непрерывный архив»
Код:
a -t7z –ssw –r –mx7 -mfb=64 -md=32m -ms=on название_архива /home/
Код:
a -mhe=on -pzennolab название_архива.7z
- -pzennolab установит пароль «zennolab»
- -mhe=on разрешит криптование заголовков
Извлечение архива
Распаковка архива начинается с команды «x»
Извлечь архив в подпапку «Список архивов» корневой директории шаблона:
Код:
x название_архива.7z
Код:
x название_архива.7z.001
Код:
x название_архива.7z –o C:/тюлени/
Чтобы посмотреть содержимое архива, используется команда «l»
Код:
l название_архива.7z
- Тема статьи
- Другое
- Номер конкурса статей
- Пятый конкурс статей
Вложения
-
16 КБ Просмотры: 719
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование: