使用参数从Javascript调用exe
我正在尝试使用参数从JavaScript调用cmd.exe。但它正在打开cmd.exe,什么也不做 下面是脚本使用参数从Javascript调用exe,javascript,activex,jscript,Javascript,Activex,Jscript,我正在尝试使用参数从JavaScript调用cmd.exe。但它正在打开cmd.exe,什么也不做 下面是脚本 function f_InvokeEXE() { var oShell = new ActiveXObject("WScript.shell"); var commandtoRun = '"C:\\Windows\\system32\\cmd.exe"'; var argumentString = '"C:\\Program Files
function f_InvokeEXE() {
var oShell = new ActiveXObject("WScript.shell");
var commandtoRun = '"C:\\Windows\\system32\\cmd.exe"';
var argumentString = '"C:\\Program Files (x86)\\PICT\\pict.exe" "C:\\Program Files (x86)\\PICT\\Sample.txt" > "C:\\Program Files (x86)\\PICT\\pab.xls"';
var a = oShell.run(commandtoRun + ' ' + argumentString, 1, true);
}
手动操作时工作正常。(打开命令提示符并输入该命令)。使用cmd.exe的
/c
参数。否则,它将不会执行您的命令字符串:
C:\Users\marc>cmd echo foo
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\marc>exit
C:\Users\marc>cmd /c echo foo
foo
C:\Users\marc>
请注意,没有
/c
的版本如何启动一个新的shell。我假设您在Internet Explorer(唯一支持ActiveXObject
)中执行此操作,您需要为cmd.exe使用/c
参数。否则,它将无法执行您在命令行中传递的任何内容。您需要cmd.exe吗?WScript.shell
不允许直接运行pict.exe
吗?请您根据您的回答修改我发布的函数并重新发布好吗?var argumentString='cmd/c notepad.exe'正在工作,但var argumentString='cmd/c“c:\\Program Files(x86)\\PICT\\PICT.exe”“c:\\Program Files(x86)\\PICT\\Sample.txt”>“c:\\Program Files(x86)\\PICT\\pab.xls”发出错误,因为“c:\Program”不能识别为内部或外部命令,明白了吗。。。谢谢@Marc