邮编和扩展

时间:2018-02-06 11:32:54

标签: vbscript zip

如何隐藏或不显示压缩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

1 个答案:

答案 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文件可能会忽略该标志(不确定)。