我得到了以下 vbscript 测试代码,它通过 WinZip 命令行压缩了一些测试文件:
Dim strWinZipDir, strZipFileToCreate, strFilesToZip, strWinZip, strCommand
strWinZipDir = "C:\Program Files\WinZip\Winzip32.exe"
strZipFileToCreate = "C:\Users\ext_dirmod_01\Desktop\TestLog.zip"
strFilesToZip = """C:\Users\ext_dirmod_01\Desktop\FacturasGRA.vbs"" ""C:\Users\ext_dirmod_01\Desktop\Test Zip Windows.vbs"""
Set objFSO = CreateObject("Scripting.FileSystemObject")
strWinZip = objFSO.GetFile(strWinZipDir).ShortPath
strCommand = strWinzip & " -min -a -r """ & strZipFileToCreate & """ " & strFilesToZip
Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec(strCommand)
Do While objExec.Status = 0
Loop
我想要做的是记录 zip 进程的运行,以便成功完成和错误/s 出现。如果出现错误,我想做的是获取 WinZip 返回的确切消息。
我尝试了几种方法:
- 按照此链接
>
中的建议,在命令行末尾添加带有文件名的大于号 ( ) 。此方法不会在文件上写入任何内容。 - 我还尝试获取 shell 执行的 STDOUT 和 STDERR,但它返回一个空字符串。
有谁知道我还能/应该尝试什么?