我需要有关 WinZip 命令行的帮助。我目前有一个命令行可以正常工作,但如果文件夹超过 4GB 就会崩溃。我有超过 100MB 的非常大的 Tiffs 文件。我想在文件达到 2GB 时拆分文件。
这是我的代码
Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click
deleteCount = 0
Dim i, x As Integer
Dim reNamedTo As String
Dim newFileURL, newFolderURL As String
Dim folderInfo As New System.Text.StringBuilder()
Dim processedNumberCount As Integer = 0
Dim numberOfErrors As Integer = 0
Dim fileSucessfullyDone As Integer
' cboPattern.SelectedIndex = 0
btnList_Click(sender, e)
For i = 0 To ListBoxFoldersToBeDone.Items.Count - 1
newFolderURL = ListBoxFoldersToBeDone.Items(i).ToString
Try
'must download winZip command line 32 / 64 bit depending on the verion of winZip u have
Dim dirInfo As New System.IO.DirectoryInfo(newFolderURL)
Dim folderName As String = (dirInfo.Name)
reNamedTo = newFolderURL & "\" & folderName & ".zip"
lblFolderBeingDone.Text = reNamedTo
psiProcess.FileName = "C:\Program Files\Winzip\wzzip.exe"
psiProcess.WorkingDirectory = newFolderURL
psiProcess.WindowStyle = ProcessWindowStyle.Minimized
psiProcess.ErrorDialog = False
psiProcess.CreateNoWindow = True
' psiProcess.Arguments = ("" & " -a -p -r -m """ & reNamedTo & """ *.tif")
psiProcess.Arguments = ("" & " -a -p -r """ & reNamedTo & """ *.tif")
udtProc = Process.Start(psiProcess)
udtProc.WaitForExit()
'lblDeletingFiles.Text = reNamedTo
processedNumberCount = processedNumberCount + 1
lblCountItemsDone.Text = processedNumberCount.ToString
pBar1.Value = processedNumberCount
initStatusBar(processedNumberCount)
listBoxFoldersDone.Items.Add(reNamedTo)
deleteAfterZip(newFolderURL)
Catch ex As Exception
numberOfErrors = numberOfErrors + 1
listBoxErrorFolders.Items.Add(reNamedTo)
End Try
Next
udtProc.Close()
listBoxFiles.Items.Clear()
Dim title As String = "TIFF Files Zip Completed"
Dim msg As String = "Process Complete , " & processedNumberCount & " files processed successfully. " & numberOfErrors.ToString & " error(s) encountered"
MessageBox.Show(msg, title)
lblFolderBeingDone.Text = "-"
End Sub