【问题标题】:Cannot retrieve referenced URL无法检索引用的 URL
【发布时间】:2010-05-12 21:39:19
【问题描述】:

我在 .wsf 文件中有 JavaScript,但出现错误:

C:\bin\LDLSInfo.wsf(53, 34) Windows Script Host: 
Cannot retrieve referenced URL: S:\tools\JScript\lib\StandardWSH.js

在第 53 行,它说

<script language="JScript" src="S:\tools\JScript\lib\StandardWSH.js"/>

我知道 LDLSInfo.wsf(主脚本)和 StandardWSH.js(要加载的脚本)都可以正常工作,因为我是从另一台机器上运行它们的。

它在一台机器上运行良好,而在另一台机器上却不行,它们都是 Windows 7 x64 计算机。所以我想我错过了一些.dll。

感谢您的帮助,

-jb

【问题讨论】:

  • 您是否尝试过通过文件系统(例如 Windows 资源管理器)实际打开上述地址的脚本?您不能假设S: 在每台计算机上都是同一个驱动器。
  • 其实script.language必须是javascript而不是jscript

标签: javascript dll wsh


【解决方案1】:

出于好奇,您知道引用文件的文件大小吗?我自己也遇到了这个问题,并设法确定如果我的文件大小为 524288 字节,那么它可以工作,但在 524289 字节时它无法加载。

现在,524288 是 2^19th 或 512kb,所以至少它在数值上很重要。并且在非管理员帐户中运行脚本对我不起作用,所以我认为实际错误是针对不止一种类型的问题的综合。

我意识到您可能已经摆脱了这个问题并且可能没有该信息,但是对于其他人正在搜索该问题,这可能会对他们有所帮助。此外,我已经设法通过使用 fso 打开和评估过大文件的加载程序脚本解决了我的文件大小限制问题。

看起来至少还有一个人和我有同样的问题: http://www.tek-tips.com/viewthread.cfm?qid=1345627&page=131

【讨论】:

  • 我刚遇到这个问题,这个答案解决了。
【解决方案2】:

根据 Marcus Pope 提供的链接,以及我自己在有和没有 WSF 的情况下使用 exact 相同的 VBS 程序的经验,我可以确认存在未记录的大小限制,这会导致消息“无法检索 URL”——请注意,此消息不是说“找不到 URL”,而是无法“检索”(加载)对象文件。我在 Windows 2003 下遇到过这种情况。我没有确认最大可检索大小,但链接给出的大小为 512 KB,这与我无法加载 1200 KB 文件的经验一致。

【讨论】:

    【解决方案3】:

    您可能需要检查尝试运行脚本的任何进程是否对引用的文件具有权限。有时任务计划以无权读取脚本文件等的帐户运行。如果您只是在机器上交互式地双击 wsf 并且您的帐户有权在记事本中打开文件,那应该没问题。正如 Pekka 所指出的,如果脚本被安排为任务,它将在可能未映射 S:\ 的非交互式进程中运行。对于作为计划任务运行的脚本,建议复制到本地路径。

    此外,通过以下命令确保 cscript.exe 是默认脚本处理器,而不是 wscript.exe:

    cscript.exe //H:CScript
    

    【讨论】:

      【解决方案4】:

      显然,这只发生在我在命令提示符下以管理员模式运行 .wsf 时。

      Pekka,两台机器的 S: 驱动器相同。

      abatishchev,我不知道,我将 script.language 固定为“javascript”。

      David,cscript 是默认处理器。

      当我在非管理员模式下运行脚本时,它会很好地加载文件。当然,现在我还有另一个错误要弄清楚,但这完全是另一个问题。感谢您的意见。

      -jb

      【讨论】:

        猜你喜欢
        • 2013-09-10
        • 1970-01-01
        • 1970-01-01
        • 2015-01-13
        • 1970-01-01
        • 2017-11-16
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多