WinZip コマンド ライン経由でいくつかのテスト ファイルを圧縮する次の vbscript テスト コードを取得しました。
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 プロセスの実行をログに記録することです。エラーが発生した場合、私がやりたいことは、WinZip が返す正確なメッセージを取得することです。
私はいくつかの方法を試しました:
- このリンク
>で提案されているように、コマンド ラインの最後にファイル名に大なり記号 () を追加します。このメソッドは、ファイルに何も書き込みません。 - また、シェル実行の STDOUT と STDERR を取得しようとしましたが、空の文字列が返されます。
他に何ができるか、何を試すべきか知っている人はいますか?