【问题标题】:Error 800a01a8: WScript Object Required错误 800a01a8:需要 WScript 对象
【发布时间】:2017-12-02 02:32:34
【问题描述】:

我正在尝试使用以下 sn-p 使用脚本的当前路径:

Set oShell = CreateObject("WScript.Shell")
Set oFileSystemObj = CreateObject("Scripting.FileSystemObject")

PathName = oFileSystemObj.GetParentFolderName(Wscript.ScriptFullName)

但是,它总是抛出错误说

'Wscript' 对象是必需的。

【问题讨论】:

  • 你的代码对我没有错误!
  • 您是否采取了一些措施来更改您的计算机上运行的是 64 位还是 32 位 wscript.exe?
  • @GTAVLover 我在 64 位 Windows 10 机器上运行它,我需要做些什么来修复应该使用哪个 wscript.exe (System32/SysWOW64)?
  • 不要创建该对象 wscript.shell.... 如果代码存储在 .vbs 文件中,它可以在某些机器上运行而无需设置该对象。只需评论该行并重试。
  • 您是否将代码作为带有wscript.execscript.exe 的纯VBScript 文件(.vbs) 运行?或者您是否在使用其他引擎(HTA、QTP、...)?并非所有 VBScript 引擎都有内置的 WScript 对象。

标签: vbscript 64-bit 32bit-64bit wsh


【解决方案1】:

在这种情况下,使用以下代码获取脚本的当前路径:

Dim oFileSystemObj: Set oFileSystemObj = CreateObject("Scripting.FileSystemObject")

PathName = oFileSystemObj.GetParentFolderName(oFileSystemObj.GetAbsolutePathName("."))

【讨论】:

  • 对我来说,它提供了一个更高级别的目录,而不是返回我正在从中操作脚本的确切子目录。
  • @Harshil 好的。更新了答案。 ;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多