【发布时间】:2015-03-03 16:47:45
【问题描述】:
我有一个用于压缩一些文件的 VBScript。从批处理文件调用时,批处理不会等待脚本完成,并且您似乎需要在 vbscript 中休眠以给压缩足够的时间,否则您最终会得到一个空的或损坏的 zip 文件。有什么办法可以让cscript执行同步吗?
以下是脚本:
Set objArgs = WScript.Arguments
InputFolder = objArgs(0)
ZipFile = objArgs(1)
CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar)
Set objShell = CreateObject("Shell.Application")
Set source = objShell.NameSpace(InputFolder).Items
objShell.NameSpace(ZipFile).CopyHere(source)
wScript.Sleep 30000
请注意最后的睡眠,这是必要的,但很糟糕,因为我不知道实际的压缩需要多长时间。以及批处理文件调用:
CScript //B zipCOM.vbs %TEMPZIPDIR% %ARCHIVEFILE%
【问题讨论】:
标签: .net windows batch-file vbscript