VBS压缩脚本

时间:2015-11-20 08:07:50

标签: vbscript zip

我发现(显然是为每个人工作)脚本只需要修改(路径):

Sub NewZip(pathToZipFile)
  'WScript.Echo "Newing up a zip file (" & pathToZipFile & ") "

  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  Dim file
  Set file = fso.CreateTextFile(pathToZipFile)

  file.Write Chr(80) & Chr(75) & Chr(5) & Chr(6) & String(18, 0)

  file.Close
  Set fso = Nothing
  Set file = Nothing

  WScript.Sleep 500
End Sub

Sub CreateZip(pathToZipFile, dirToZip)
  'WScript.Echo "Creating zip  (" & pathToZipFile & ") from (" & dirToZip & ")"

  Dim fso
  Set fso= Wscript.CreateObject("Scripting.FileSystemObject")

  pathToZipFile = fso.GetAbsolutePathName(pathToZipFile)
  dirToZip = fso.GetAbsolutePathName(dirToZip)

  If fso.FileExists(pathToZipFile) Then
    'WScript.Echo "That zip file already exists - deleting it."
    fso.DeleteFile pathToZipFile
  End If

  If Not fso.FolderExists(dirToZip) Then
    'WScript.Echo "The directory to zip does not exist."
    Exit Sub
  End If

  NewZip pathToZipFile

  dim sa
  set sa = CreateObject("Shell.Application")

  Dim zip
  Set zip = sa.NameSpace(pathToZipFile)

  'WScript.Echo "opening dir  (" & dirToZip & ")"

  Dim d
  Set d = sa.NameSpace(dirToZip)

  ' Look at http://msdn.microsoft.com/en-us/library/bb787866(VS.85).aspx
  ' for more information about the CopyHere function.
  zip.CopyHere d.items, 4

  Do Until d.Items.Count <= zip.Items.Count
    Wscript.Sleep(200)
  Loop
End Sub

任何人都可以举例说明这个脚本的外观 真正的路径?我正在尝试,但它不适合我。

1 个答案:

答案 0 :(得分:0)

这个脚本只包含两个子程序,因此永远不会执行任何操作。

将以下行添加到文件的底部,它应该可以工作(假设subs中的代码是声音,我还没有测试过):

CreateZip "c:\output\test.zip" "c:\input\"

这将按顺序执行以下操作:

  1. 检查输出文件是否存在。如果是,它将删除它。
  2. 检查输入文件夹是否存在,如果不存在,脚本将退出。
  3. 调用NewZip子组件,该子组件只会创建一个&#34;空的&#34; .zip文件。
  4. 将文件复制到zip文件。
  5. 暂停一段时间,可能是为了确保您在完成复制之前不要尝试访问ZIP。
  6. input文件夹的内容现在位于output文件夹的zip文件中。