2011-10-12 68 views
0

我們正在測試下載一個多文件解壓縮。命令非常相似,節目是從一個批處理文件(從SSIS調用)執行的那些停止Winzip從打開資源管理器窗口

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帳戶下打開。

如何防止這些窗口打開?

回答

2

這可能是winzip GUI中的設置。有一個單獨的command line version可能會更好,但它僅適用於許可版本。

如果您沒有使用專有的winzip壓縮,您可能需要考慮一些free command line unzip utilities

+0

WinZip是唯一的壓縮實用程序建立在我們的服務器上。 :( –

+0

你不能將你的應用程序中的其中一個替代品捆綁在一起嗎?我已經看到很多應用程序,並且大多數免費應用程序都允許你重新分配。 –

+0

它不是一個.Net應用程序 - 它是一個SSIS包。我猜可以在腳本組件中使用C#。 –

2

因爲這個原因,我們使用WinZip命令行工具wzzip.exe和wzunzip.exe。

我敢打賭服務器管理員將竭誠爲安裝wzzip和wzunzip一旦你解釋,另一種方法是讓他們保持登錄到箱子和關閉的WinZip窗口:-)

1

使用命令行實用程序正如其他人提到的那樣,或者使用第三方的解壓縮組件,比如可用的工具。

5

我知道這是一個老問題,但我試圖解決同樣的問題時遇到了這個問題。我的解決方案是在Windows 7機器上使用WinZip 14.5。

1)打開WinZip的 2)選擇主頁選項卡 3)在解壓縮部分選擇解壓選項 4)清除複選標記以顯示解壓縮的面前文件 5)關閉的WinZip和運行你的腳本中, Windows資源管理器屏幕不應該打開

0

您可以嘗試使用tasklist和taskkill編寫腳本。 這裏是一個Perl腳本,將終止正在運行的WinZip之後創建的所有explorer進程:

#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`; 
    } 
} 
相關問題