使用VBScript检查一个zip文件中的文件的属性(Using VBScript to exami

2019-10-21 15:14发布

我试图使用VBScript来检查的几百.zip文件的内容。 基本上我想要做的是通过每个.ZIP运行,并找到所有wihtin该压缩文件的文件。 对于ZIP中的这些文件中的每一个,我想记录一下Oracle数据库的一些信息。 这信息是:文件名和文件修改日期。

到目前为止,我的解决方案已经被切出各拉链文件夹结构,然后通过临时文件夹与FSO对象中运行的临时文件夹。 然而,这已经被证明是非常缓慢的。

有没有办法来完成祖国这一点没有unziping的zip文件?

Answer 1:

哎哟人。 我从来没有听说过的VBScript拉链的对象。 但它已经很长一段时间,因为我做的VBScript。 反正你能避免呢?

我做了一些谷歌上搜索你。 我没有发现这样的: http://www.example-code.com/vbscript/zip_List.asp奇尔卡特做了很多的东西,我认为是不可能的。 这给我的感觉 - 那是你正在试图做的是不会是无痛的。

如果给定的问题,你有我会找到比VBScript中不同的解决方案。 但是,如果你拉它关闭我会投票给你是VB土地市长



Answer 2:

您可以在与壳牌对象的地方做。 但是,这将是一样缓慢,也许。 如果只是名称和日期Explorer可能会得到它从zip目录直接(在文件的末尾,以便将整个文件仍然需要阅读)。

一个文件夹中复制该项目到另一个文件夹。 一个zip文件是一个文件夹,所以它会在复制和拷贝出来。

拉上拉链

Set objShell = CreateObject("Shell.Application")
Set Ag=Wscript.Arguments
set WshShell = WScript.CreateObject("WScript.Shell")

Set SrcFldr=objShell.NameSpace(Ag(1))
Set DestFldr=objShell.NameSpace(Ag(0))
Set FldrItems=SrcFldr.Items
DestFldr.CopyHere FldrItems, &H214
Msgbox "Finished"

解压缩(注SrcFolder和DestFolder相反)

Set objShell = CreateObject("Shell.Application")
Set Ag=Wscript.Arguments
set WshShell = WScript.CreateObject("WScript.Shell")

Set DestFldr=objShell.NameSpace(Ag(1))
Set SrcFldr=objShell.NameSpace(Ag(0))
Set FldrItems=SrcFldr.Items
DestFldr.CopyHere FldrItems, &H214
Msgbox "Finished"

创建一个空白拉链。 (我应该使用ADODB二进制流,而不是FSO文本流,但它不应该的问题)

Set Ag=Wscript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile(Ag(0), 8, vbtrue)
BlankZip = "PK" & Chr(5) & Chr(6)
For x = 0 to 17
    BlankZip = BlankZip & Chr(0)
Next
ts.Write BlankZip


文章来源: Using VBScript to examine properties of files within a zip file
标签: vbscript zip fso