如何隐藏或不显示压缩zip处理表单。扩展可能使用* .dat但仍然是Zip格式。
ArchiveFolder "sub\foo.zip", "..\baz"
Sub ArchiveFolder (zipFile, sFolder)
With CreateObject("Scripting.FileSystemObject")
zipFile = .GetAbsolutePathName(zipFile)
sFolder = .GetAbsolutePathName(sFolder)
With .CreateTextFile(zipFile, True)
.Write Chr(80) & Chr(75) & Chr(5) & Chr(6) & String(18, Chr(0))
End With
End With
With CreateObject("Shell.Application")
.NameSpace(zipFile).CopyHere .NameSpace(sFolder).Items
Do Until .NameSpace(zipFile).Items.Count = _
.NameSpace(sFolder).Items.Count
WScript.Sleep 1
Loop
End With
End Sub
答案 0 :(得分:0)
CopyHere
方法有一个可选的第二个参数,用于控制方法行为的标志:
语法
Folder.CopyHere( vItem, [ vOptions ] )
<强>参数强>
[...]
vOptions [可选]
类型:变体
复制操作的选项。该值可以是零或以下值的组合。这些值基于为与C ++ SHFILEOPSTRUCT结构的fFlags成员一起使用而定义的标志。每个Shell命名空间必须提供它们自己的这些标志的实现,并且每个命名空间可以选择忽略一些甚至所有这些标志。这些标志不是由Visual Basic,VBScript或JScript的名称定义的,因此您必须自己定义它们或使用它们的等效数字。
注意在某些情况下,例如压缩(.zip)文件,设计可能会忽略某些选项标志。(4)不显示进度对话框 ...
尝试
.NameSpace(zipFile).CopyHere .NameSpace(sFolder).Items, 4
但请注意,zip文件可能会忽略该标志(不确定)。