如何使用VBScript从zip中删除文件

时间:2013-11-21 19:26:06

标签: vbscript

我对VBScript很新(这是我第一次使用它)。到目前为止,我已经复制并改变了我的方式,直到我。

我的APK文件太大,无法满足我的需求。所以我一直在做的是手动将其更改为zip,然后从中删除几个图像,然后将其重命名为APK。我试图用VBScript自动化它。到目前为止我已经

Set oShell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
sFolder = WORKSPACE & "\temp\" & app & "\build\" & PLATFORMSUBFOLDER & "\dist\" & app & "\bin"
oShell.CurrentDirectory = sFolder 

'Make the Apk a Zip.
fso.MoveFile apkfile, zipApk

这一切都正常,我可以在Windows资源管理器中看到APK更改为我想要的拉链。所以我想知道是否有任何快速的方法来进入并删除几个文件而不提取整个事情?

如果没有,是否有一种简单的方法来提取文件并同时解析它们?

我看过这里Extract files from ZIP file with VBScript 但似乎无法让它发挥作用。我一直收到错误“需要对象:'objShell.Names(...)'”任何暗示为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

使用MoveHere方法将项​​目移出zip文件:

zipfile = "C:\path\to\your.zip"
fname   = "some.file"
dst     = "C:\some\folder"

Set app = CreateObject("Shell.Application")
For Each f In app.NameSpace(zipfile).Items
  If f.Name = fname Then
    app.Namespace(dst).MoveHere(f)
  End If
Next

然后从dst文件夹中删除文件:

Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile fso.BuildPath(dst, fname), True