Вызовите Winzip32.exe с параметром с помощью c # - PullRequest
0 голосов
/ 25 февраля 2012

Мне нужна папка zip через консольное приложение, поэтому я использовал что-то вроде

public void DoWinzip(string zipName, string password, string folderName)
        {
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.FileName = "C:\\Program Files\\WinZip\\winzip32.exe";
            startInfo.Arguments = string.Format("-min -eZ {0} {1}", zipName, folderName);

            try
            {
                // Start the process with the info we specified.
                // Call WaitForExit and then the using statement will close.
                using (Process exeProcess = Process.Start(startInfo))
                {
                    exeProcess.WaitForExit();
                }
            }
            catch(Exception ex)
            {
                // Log error.
            }

        }

Но это даст мне ошибку, такую ​​как ошибка проверки параметров winzip.Где я ошибаюсь?

Update

Я пишу неправильно на -eZ, на самом деле это может быть -ex и т.д ... Но другая проблема заключается в том, что winzip открывает собственные окна.Я пишу для этого -min, однако он открылся.

Ответы [ 4 ]

1 голос
/ 25 февраля 2012

Возможно, вы передаете пути с пробелами (в аргументах zipName и folderName), не заключая их в двойные кавычки.

0 голосов
/ 25 февраля 2012

Вы можете не открывать окна, используя свойство ProcessStartInfo.WindowStyle

Попробуйте это:

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "C:\\Program Files\\WinZip\\winzip32.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
0 голосов
/ 25 февраля 2012

Какой вариант -eZ?Я думаю, что это ваша проблема

Я подумал, что это единственное, что можно определить методом сжатия.1010 *

-ef = быстро

-es = супер быстро

-e0 = без сжатия

0 голосов
/ 25 февраля 2012

http://www.rondebruin.nl/parameters.htm -> глядя на это, я думаю, что код:

startInfo.Arguments = string.Format ("- e {0} {1}", zipName, folderName);

...