【问题标题】:Trouble getting WScript.Shell to work from HTA page无法让 WScript.Shell 从 HTA 页面工作
【发布时间】:2016-07-15 17:00:33
【问题描述】:

我有一个私有 HTA 应用程序,我想从中启动 bat 文件和常规 cmd 功能(cd、删除等)。

我的脚本如下:

<script type="text/javascript">
var SHELL = new ActiveXObject("WScript.Shell");
function buildWorkspace()
{
   SHELL.Run("start cmd /K", 1, true);  
}
</script>
<br/><input type='button' onclick='buildWorkspace();' value='Build Workspace'/>

而且我不断收到此错误:“系统找不到指定的文件。”但我没有传递任何文件?

我也尝试过这样的 Exec 方法:

var status = SHELL.Exec("cmd");

仍然无法正常工作 - 但出现不同的错误:“对象不支持此属性或方法”?我还看到一个 cmd 窗口,但没有提示。

我尝试了许多不同的引号和命令排列(尝试过 CD 和 DIR)仍然是相同的错误。最终结果应该允许我删除一个目录并启动一个包含三个参数的 bat 文件。任何想法我做错了什么?

【问题讨论】:

    标签: shell hta wsh


    【解决方案1】:

    原来是纯粹的愚蠢X 2。

    1) 文件夹分隔符必须是 \ 而不是 /。我很确定你可以使用其中任何一个,但它只有在我切换到 \ 时才有效。我收到了有关无效选项的消息,这些消息提示了我。

    2) 您必须在 bat 文件中包含扩展名 - 您不能只使用“batfile”,而必须使用“batfile.bat”。

    所有这一切都非常奇怪,因为如果我打开 CMD 提示符并使用正斜杠或省略 .bat 扩展名,它就可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-07
      • 1970-01-01
      • 2013-12-29
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多