windows - 使用 VBS 解压时出错

标签 windows batch-file vbscript

我有this用于解压缩文件的 VBS:

Set args = Wscript.Arguments

outputDirectory = WScript.Arguments.Item(0)
zipFile = WScript.Arguments.Item(1)

rem On Error Resume Next

Set fso = CreateObject("Scripting.FileSystemObject")
If NOT fso.FolderExists(outputDirectory) Then
fso.CreateFolder(outputDirectory)
End If
set objShell = CreateObject("Shell.Application")
set FilesInZip=objShell.NameSpace(zipFile).items
objShell.NameSpace(outputDirectory).CopyHere(FilesInZip)
Set fso = Nothing
Set objShell = Nothing

rem On Error Goto 0

问题是,当我使用 .bat 运行它时:

%zip_vbs_path% "%cd%\%zip_temp_dir%\""%cd%\%OUTPUT_DIR%\!zip_plugin_name_!"

哪里:

  • %zip_vbs_path 是上述 VBS 的路径
  • %zip_temp_dir%=zip_temp
  • %OUTPUT_DIR%\!zip_plugin_name_!=Output\PluginName.jar

我收到这个错误:

Error MSG

提交答案时请ELIF ,因为我根本不熟悉 VBS 语言。

最佳答案

对于这一行:

set FilesInZip=objShell.NameSpace(zipFile).items

您将 zipFile 设置为:

Output\PluginName.jar

您使用的代码应该适用于 zip 文件,但是 Shell.Application 无法从 jar 文件中检索文件集合。

关于windows - 使用 VBS 解压时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31084442/

相关文章:

windows - 如何使用 TortoiseGit 检查当前 git 存储库的 URL?

windows - sc.exe 配置 "Service Name"obj= "DOMAIN\User"密码= "password"不工作

windows - 将 BSTR 转换为 wstring

ms-access - 通过 VBScript 从文本中删除尾随的不可见字符

windows - 如何编写 VBS 脚本来检查网站,然后停止和启动 Windows 服务

c# - WMI 硬件,获取 RAM 信息

c++ - 在 C++ 中的 Windows 上使用 SendInput 发送同步键盘事件

file - 如何使用批处理文件随机重新排列文本文件中的行

c# - 用户在预构建事件期间输入文本

batch-file - 在 inno setup 上完成安装后创建一个 Bat 文件