остановить Winzip от открытия окна проводника

Мы тестируем загрузку распаковки нескольких файлов. Команды, очень похожие на показанные, выполняются из пакетного файла (вызывается из SSIS)

C:\Progra~1\WinZip\WINZIP32.EXE -min -e -o -j C:\TEMP\ZipTest\x1.zip C:\TEMP\ZipTest\Z1
C:\Progra~1\WinZip\WINZIP32.EXE -min -e -o -j C:\TEMP\ZipTest\x2.zip C:\TEMP\ZipTest\Z2
C:\Progra~1\WinZip\WINZIP32.EXE -min -e -o -j C:\TEMP\ZipTest\x3.zip C:\TEMP\ZipTest\Z3
C:\Progra~1\WinZip\WINZIP32.EXE -min -e -o -j C:\TEMP\ZipTest\x4.zip C:\TEMP\ZipTest\Z4

К сожалению, после распаковки открывается четыре окна проводника (по одному на каждый архив).

введите здесь описание изображения

Хотя эти окна легко закрыть, когда они работают на моем рабочем столе, я не могу закрыть окна, которые открываются под учетной записью SSIS.

Как предотвратить открытие этих окон?


person Raj More    schedule 12.10.2011    source источник


Ответы (5)


Вероятно, это настройка в графическом интерфейсе winzip. Существует отдельная версия командной строки, которая может работать лучше, но доступна только для лицензионных версий.

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

person Miserable Variable    schedule 12.10.2011
comment
Winzip — единственная утилита сжатия, установленная на наших серверах. :( - person Raj More; 12.10.2011
comment
Не можете ли вы связать одну из альтернатив с вашим приложением? Я видел много приложений для этого, и большинство бесплатных позволяют вам распространять их. - person Miserable Variable; 12.10.2011
comment
Это не приложение .Net — это пакет SSIS. Думаю, я мог бы использовать C# внутри компонента скрипта. - person Raj More; 12.10.2011

Я знаю, что это старый вопрос, но я столкнулся с ним, когда пытался решить ту же проблему. Мое решение — использовать WinZip 14.5 на компьютере с Windows 7.

1) Откройте WinZip 2) Выберите вкладку «Главная» 3) В разделе «Распаковка» выберите «Параметры распаковки» 4) Снимите галочку напротив «Показать разархивированные файлы» 5) Закройте WinZip и запустите свой сценарий, экран проводника Windows не должен открываться

person Angus    schedule 21.12.2012

Именно по этой причине мы используем утилиты командной строки WinZip wzzip.exe и wzunzip.exe.

Бьюсь об заклад, администраторы сервера будут счастливы установить wzzip и wzunzip, как только вы объясните, что альтернативой для них является продолжение входа в систему и закрытие окон WinZip :-)

person Edmund Schweppe    schedule 15.10.2011

Используйте утилиты командной строки, как уже упоминалось другими, или используйте сторонний компонент для распаковки, например, доступный в инструментах Cocoroc.

person William Salzman    schedule 01.11.2011

вы можете попробовать написать скрипт, используя список задач и тасккилл. вот perl-скрипт, который уничтожит все процессы проводника, созданные после запуска winzip:

#workaround to close explorer sessions created by winzip
@explorerBeforeWinzip = `tasklist /fi "imagename eq explorer.exe"`;
print "extract zip files\n";
`c:\\Progra~2\\Winzip\\WINZIP32.EXE -min -e -o $zipFile $dest`;

@explorerAfterWinzip = `tasklist /fi "imagename eq explorer.exe"`;
for($i=0;$i<scalar(@explorerAfterWinzip);$i++)
{
    $killMe=1;
    for($j=0;$j<scalar(@explorerBeforeWinzip);$j++)
    {
        if($explorerAfterWinzip[$i] eq $explorerBeforeWinzip[$j])
        {
            $killMe=0;
            last;
        }
    }
    if($killMe==1)
    {
        print "killing process: $explorerAfterWinzip[$i]\n";
        $explorerAfterWinzip[$i] =~ m/explorer.exe\s+(\d+)\s+/;
        `taskkill /pid $1`;
    }
}
person Natan    schedule 13.01.2014