7z командная строка для сжатия папок
Я пытаюсь zip / 7z папки с помощью командной строки 7zG.exe. Код, который у меня есть, работает для файлов, но не для папок. Не мог бы кто-нибудь показать мне правильный способ сжатия папок с помощью командной строки 7z? Вот пример кода, который работает только для файлов. Всякий раз, когда я пытаюсь запустить этот код, 7zip показывает messagebox, говорящий "недопустимый параметр"
string sourceName = "FolderFolder1";
string targetName = "Example.gz";
// 1
// Initialize process information.
//
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "7zG.exe";
// 2
// Use 7-zip
// specify a=archive and -tgzip=gzip
// and then target file in quotes followed by source file in quotes
//
p.Arguments = "a -tgzip "" + targetName + "" "" + sourceName + "" -mx=9";
p.WindowStyle = ProcessWindowStyle.Hidden;
// 3.
// Start process and wait for it to exit
//
Process x = Process.Start(p);
x.WaitForExit();
1 ответ:
Как указано в разделе комментариев, Вы должны использовать
7za.exe
Эта Ссылка дает вам полный пример строки
Ваш код будет выглядеть следующим образом:
string sourceName = "Folder\Folder1"; string targetName = "Example.gz"; ProcessStartInfo p = new ProcessStartInfo(); //first change p.FileName = "7za.exe"; //second change p.Arguments = "a -tzip \"" + targetName + "\" \"" + sourceName + "\" -mx=9"; p.WindowStyle = ProcessWindowStyle.Hidden; Process x = Process.Start(p); x.WaitForExit();