如何使用内部 Windows XP 选项在 VBScript 中解压缩文件
Posted
技术标签:
【中文标题】如何使用内部 Windows XP 选项在 VBScript 中解压缩文件【英文标题】:How to unzip a file in VBScript using internal Windows XP options in 【发布时间】:2010-10-29 00:06:18 【问题描述】:我想使用 VBScript 解压缩一个 .zip 文件,但它始终是一台没有外部应用程序的新计算机。现在我知道 Windows XP 和 2003 有一个内部 .zip 文件夹选项,所以我想我可以通过 VBScript 使用它来提取文件。
我该怎么做?
我试过了:
Set objShell = CreateObject("Shell.Application")
Set SrcFldr = objShell.NameSpace(fileName)
Set DestFldr = objShell.NameSpace(appDir)
DestFldr.CopyHere(SrcFldr)
这没有用。 可能是什么问题?
【问题讨论】:
查看Rob van der Woude's 网站上的第三个条目。 检查this 【参考方案1】:只需将 ZipFile = zip 文件的位置,将 ExtractTo = 设置为 zip 文件应该被提取到的位置。
'The location of the zip file.
ZipFile="C:\Test.Zip"
'The folder the contents should be extracted to.
ExtractTo="C:\Test\"
'If the extraction location does not exist create it.
Set fso = CreateObject("Scripting.FileSystemObject")
If NOT fso.FolderExists(ExtractTo) Then
fso.CreateFolder(ExtractTo)
End If
'Extract the contants of the zip file.
set objShell = CreateObject("Shell.Application")
set FilesInZip=objShell.NameSpace(ZipFile).items
objShell.NameSpace(ExtractTo).CopyHere(FilesInZip)
Set fso = Nothing
Set objShell = Nothing
【讨论】:
在 JScript 中编写相同的内容时,需要注意转义反斜杠(“\\”)。那让我很头疼。 获取错误作为对象必需。 “设置 FilesInZip=objShell.NameSpace(ZipFile).items”。有人可以帮我吗 输入完整文件路径或将“CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName) 与“file.zip”连接起来 @Tester101 您好,请问,如果文件存在,代码如何在不要求的情况下覆盖所有文件? 任何人都可以增强此代码以在 zip 文件损坏且无法打开的情况下显示错误吗?在 Windows 7 中,如果压缩文件损坏,此脚本不会显示错误。 (问,因为我根本不知道 vbscript,一点点新手修补也没有帮助)以上是关于如何使用内部 Windows XP 选项在 VBScript 中解压缩文件的主要内容,如果未能解决你的问题,请参考以下文章