1

我们正在尝试通过 bat 文件在我们的客户端服务器上压缩一个文件夹(大小 ~100GB)。此 bat 文件是通过 autosys 作业触发的。该文件夹包含 .dat 文件和 .523 格式文件 我们尝试了以下几个选项:
1.使用 PKZIP 实用程序。解压缩文件时,它说文件已损坏并终止该过程。
2.使用Winzip。压缩过程完成后,它会打开一个“添加完成”对话框并等待用户点击“确定”。由于我们是从 autosys 触发 bat 文件,所以我们在尝试登录服务器时看不到这个对话框。我们在服务器上安装了一个交互式版本的 Winzip,我们无法安装 wzzip 版本的 winzip。我们使用的代码如下:

SET ZIPDIR="C:\Program Files (x86)\WinZip"
CALL %ZIPDIR%\WINZIP32.EXE -a -r %CEDEARCH%\BACKUP__%date:~-4,4%%date:~-10,2%%date:~-7,2%.zip D:\DATA\Test\*.*

执行此操作后,上面的代码等待“OK”被击中,因此 autosys 作业不会终止。我尝试在它之后添加一个 VBS 脚本以按 Enter 键,但它不起作用。

VBS 脚本:

set oWShell = createobject("WScript.Shell")
WScript.Sleep 2000
oWShell.Sendkeys "{enter}"
  1. 使用 7Zip。在做了一些研究之后,我的同事尝试使用 7Zip,并且 zip 和 unzip 工作得非常好。无需人工干预。唯一的问题是大约需要 7 - 9 小时才能完成。那是很多时间。不能接受的。:( Winzip 大约需要 3 小时。

    SET ZIPDIR= "C:\Program Files\7-Zip" CALL %ZIPDIR%\7z.EXE a -r D:\PES_PROD\ARCHIVE\Calc_Backup\CALCITDBACKUP__%date:~-4,4%%date:~-10 ,2%%date:~-7,2%.zip D:\PES_PROD\DATA\CALC*.* -mmt

任何人都可以提出任何更好的想法或我们没有想到的任何其他方法。谢谢和

4

0 回答 0