【问题标题】:converting javascript to exe, WScript has not been declared将javascript转换为exe,WScript尚未声明
【发布时间】:2012-03-28 18:50:00
【问题描述】:

我们有一个javascript,我想将其编译为exe

我正在使用jsc.exe 来执行此操作。但是,尝试编译时出现以下错误。

error JS1135: Variable 'WScript' has not been declared

这是一段代码:

var omgShell = WScript.CreateObject( "WScript.Shell" );

这里有什么问题?

谢谢

【问题讨论】:

  • 您是否尝试过此链接的解决方案? social.msdn.microsoft.com/Forums/nl/netfxjscript/thread/… 他们推荐 new ActiveXObject("WScript.Shell"); 而不是 WScript.CreateObject
  • 我看到了,但我认为这与我的问题无关。哈哈。我会试一试,看看会发生什么。
  • 我使用 WScript 的其他地方呢?例如WScript.Echo(...);。我对javascript 世界知之甚少,只是想让这个脚本工作。 =)
  • 我实际上刚刚意识到我遇到的问题与此无关。我不再需要将其编译为exe。我用上面提到的new ActiveXObject("WScript.Shell"); 的建议编译了所有东西。我还将我对WScript 的所有引用更改为omgShell,它似乎有效。但我发现这根本不是问题,只是解决了我的另一个问题。请将此作为答案 CMP 发布,我会接受它,因为它很有帮助。谢谢

标签: javascript windows jscript


【解决方案1】:

WScript 是一个在 jsc.exe 上下文中不可用的变量。请参阅this post 了解更多信息。

在您的情况下,只需使用var omgShell = new ActiveXObject("WScript.Shell");,并将所有对WScript 的引用替换为omgShell

或者干脆做var WScript = new ActiveXObject("WScript.Shell");

【讨论】:

    【解决方案2】:

    JScript.NET 与 WSH 不同。您需要修改代码以使用 .NET 对象而不是 WSH 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-22
      • 2017-05-18
      • 2017-07-05
      • 2019-09-19
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多