javascript - ActiveXObject运行不返回(shell)

标签 javascript shell exec activex

我正在使用 ActiveXObject 从 JavaScript 环境运行 shell 脚本。如果我在运行函数中不包含任何参数,一切都会正常工作:

var x = new ActiveXObject("WScript.Shell");
x.Run("%comspec% /K dir")
alert("I am here!")

根据文档,“Run 方法还接受一个 bool 值作为第三个参数,该参数确定脚本是暂停直到被调用的程序完成运行还是继续执行脚本中的下一个命令。如果设置了此值为False(默认值),Run方法只是发出运行程序的命令,但不检查以确保程序实际运行。如果第三个参数设置为True,则脚本将等待程序完成运行,返回程序提供的整数退出代码,然后继续执行脚本的下一行。”

我尝试同时使用

x.Run("%comspec% /K dir"), 1, True
alert("I am here!")

x.Run("%comspec% /K dir"), 1, False
alert("I am here!")

但我的代码总是挂起。警报永远不会显示。我究竟做错了什么? (我需要在我的代码中使用第三个参数= true) 谢谢!

最佳答案

您必须在括号中包含参数:

x.Run("%comspec% /K dir", 1, true);

当前您的脚本使用几个逗号运算符。首先,它执行 Run 方法,计算 1,最后中断为 undefined variable 名称 (True)。 JS 区分大小写。

关于javascript - ActiveXObject运行不返回(shell),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30513031/

相关文章:

linux - 使用 grep、awk 或 sed 解析字符串

php - shell_exec() 和 exec() 不显示输出

javascript - 在表 JQuery 上搜索

javascript - 即使请求 format=json,YQL 也会返回 application/javascript

shell - 使用 azure 数据工厂 (ADF) 从 Pig/Hive 事件运行 shell 脚本

c - 如何在 C 语言编程中使用 execvp 或其他类型的 exec 函数执行 cat 命令

mysql - Ruby 执行 "mysql -u root ... < some.sql"不起作用

javascript - 当 Div 向左浮动时动画位置变化

javascript - live() 更改在 IE8 上的 jquery 1.4.2 中不起作用

bash - 参数扩展默认值到空数组