阻止Winzip打开资源管理器窗口

时间:2011-10-12 14:14:29

标签: windows batch-file ssis explorer 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

不幸的是,在完成解压缩后,会打开四个资源管理器窗口(每个存档一个)。

enter image description here

虽然在桌面上运行时很容易关闭这些窗口,但我无法关闭在SSIS帐户下打开的任何窗口。

如何阻止这些窗口打开?

5 个答案:

答案 0 :(得分:5)

我知道这是一个老问题,但是当我试图解决同样的问题时,我碰到了它。我的解决方案是在Windows 7计算机上使用WinZip 14.5。

1)打开WinZip 2)选择“主页”选项卡 3)在“解压缩”部分中,选择“解压缩选项” 4)清除Show Unzipped Files前面的复选标记 5)关闭WinZip并运行脚本,Windows资源管理器屏幕不应该打开

答案 1 :(得分:2)

这可能是winzip GUI中的一个设置。有一个单独的command line version可能会更好,但它只有许可版本。

如果您没有使用其中一种专有的winzip压缩,您可能需要考虑一些free command line unzip utilities

答案 2 :(得分:2)

出于这个原因,我们使用WinZip命令行实用程序wzzip.exe和wzunzip.exe。

我敢打赌服务器管理员很乐意安装wzzip和wzunzip,一旦你解释了替代方案是让他们继续登录框并关闭WinZip窗口: - )

答案 3 :(得分:1)

使用其他人提到的命令行实用程序,或使用第三方解压缩组件,如cozyroc工具中提供的组件。

答案 4 :(得分:0)

您可以尝试使用tasklist和taskkill编写脚本。 这是一个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`;
    }
}
相关问题