如何使用VBScript读取.zip文件的内容而不实际提取文件?

ccw*_*ite 6 vbscript zip

我有一个以父目录开头的.zip文件.我需要从文件中读取该dir,然后搜索我的HD以查看该dir名称是否已存在.如果它存在,我然后删除它并将其替换为.zip文件的内容.

所有这些我都可以做,除了读取.zip而不实际解压缩文件.

.zip文件的大小可以超过2G,所以我想避免解压缩,然后读取目录,然后复制.

我不直接解压缩到该位置并强制覆盖的原因是,由于某些原因,当使用该CopyHere方法解压时,它会忽略通常会强制覆盖的开关,并且仍然会提示用户是否要覆盖.

解压缩文件的代码:

 Set objSA = CreateObject("Shell.Application")
 Set objSource = objSA.NameSpace(pathToZipFile).Items ()
 Set objTarget = objSA.NameSpace(extractTo)     

 objTarget.CopyHere objSource,4
Run Code Online (Sandbox Code Playgroud)

Han*_*son 0

假设您可以使用外部应用程序,请尝试下载7Zip,然后让您的脚本使用-l开关执行它。这应该会给你一些你应该能够以某种方式解析的输出。

帮助文件中的示例:7z l archive.zip