无法使 WScript.Shell 从 HTA 页面工作

Trouble getting WScript.Shell to work from HTA page

我有一个私人 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'/>

而且我不断收到此错误:"The system cannot find the file specified." 但我没有传递任何文件?

我也试过这样的Exec方法:

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

仍然无法正常工作 - 虽然出现不同的错误:"Object doesn't support this property or method"?我也看到一个 cmd window 但没有提示。

我已经尝试了很多不同的引号和命令排列(试过 CD 和 DIR)仍然是同样的错误。最终结果应该允许我删除目录并启动具有三个参数的 bat 文件。知道我做错了什么吗?

原来是纯粹的愚蠢X 2。

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

2) 你必须在 bat 文件中包含扩展名 - 你不能直接去 "batfile" 你必须使用 "batfile.bat".

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