我正在使用JavaScript环境使用ActiveXObject运行一个shell脚本。如果我没有在run函数中包含任何参数,那么一切都能正常工作:
var x = new ActiveXObject("WScript.Shell");
x.Run("%comspec% /K dir")
alert("I am here!")根据文档,“Run方法还接受一个布尔值作为第三个参数,该参数确定脚本是否暂停,直到被调用的程序运行完毕,或者继续执行脚本中的下一个命令。如果此值设置为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 )谢谢!
发布于 2015-05-28 17:20:40
您必须将参数包含在括号中:
x.Run("%comspec% /K dir", 1, true);目前,您的脚本使用了几个逗号运算符。首先,它执行Run方法,计算1,最后分解为一个未定义的变量名(True)。JS是区分大小写的。
https://stackoverflow.com/questions/30513031
复制相似问题