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

发布于 2024-12-09 14:20:35 字数 619 浏览 2 评论 0原文

我们正在测试下载多个文件的解压缩。与显示的命令非常相似的命令是从批处理文件(从 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帐户下打开。

如何防止这些窗口打开?

We are testing download an unzip of multiple files. Commands very similar to the ones shows are executed from a batch file (called from 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

Unfortunately, after it is done unzipping, four Explorer windows opens up (one for each archive).

enter image description here

While it is easy to close these windows when it runs on my desktop, I cannot close any windows down that open up under the SSIS account.

How do I prevent these windows from opening up?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

夏天碎花小短裙 2024-12-16 14:20:35

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

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

I'm aware this is an old question, but I ran across it while I was attempting to solve the same problem. My solution is using WinZip 14.5 on a Windows 7 machine.

1) Open WinZip
2) Select the Home tab
3) In the Decompress section select Unzip Options
4) Clear the check-mark in front of Show Unzipped Files
5) Close WinZip and run your script, the Windows Explorer screen should not open

迷路的信 2024-12-16 14:20:35

这可能是 winzip GUI 中的一个设置。有一个单独的命令行版本,可能效果更好,但仅适用于许可版本。

您可能需要考虑一些免费命令行解压缩实用程序 ,如果您没有使用专有的 winzip 压缩之一。

That is probably a setting in winzip GUI. There is a separate command line version that might pan out better but it is available with licensed versions only.

You might want to consider some free command line unzip utilities, if you are not using one of the proprietary winzip compression.

睫毛溺水了 2024-12-16 14:20:35

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

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

We use the WinZip command line utilities wzzip.exe and wzunzip.exe for just that reason.

I'll bet the server admins will be happy to install wzzip and wzunzip once you explain that the alternative is for them to keep logging onto the box and closing WinZip windows :-)

月亮是我掰弯的 2024-12-16 14:20:35

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

Use the command line utilities as others have mentioned, or use a third party unzip component like the one available in cozyroc's tools.

失眠症患者 2024-12-16 14:20:35

您可以尝试使用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`;
    }
}

you can try writing a script using tasklist and taskkill.
here is a perl script that will kill all explorer process that were created after running 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`;
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文