如何使用内部 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 中解压缩文件的主要内容,如果未能解决你的问题,请参考以下文章

Windows XP启动脚本在哪儿找?

如何用VBS编写一个简单的恶搞脚本

错误 - 在Windows 7中使用“Git Bash Here”时,“文件扩展名.vbs没有脚本引擎”

windows通过企业内部授权服务器激活方法

怎么在游戏中使用vbs脚本

Windows Xp 上的 Microsoft.Windows.ActCtx