我想从 javascript 执行一个 java 程序并想要获得输出。

Intailly 我试过下面的代码:

WshShell = new ActiveXObject("WScript.Shell"); 
var launch="cmd.exe /c java -classpath . HelloWorld "; 
var cmdRun = WshShell.Run(launch,0,true); 

通过 Run 方法我无法获得类的输出。

然后我尝试使用以下代码:

WshShell = new ActiveXObject("WScript.Shell"); 
var launch="cmd.exe /c p java classpath . HelloWorld "; 
var cmdRun = WshShell.Exec(launch); 
while (cmdRun.Status == 0) // wait for the command to finish 
{ 
sleep(100); 
} 
var output = cmdRun.StdOut.ReadAll(); 
alert(output); 

现在我能够在变量输出中获得输出。

我的问题是使用 Run 方法我可以隐藏命令提示符(通过传递参数 WshShell.Run(launch,0,true)) 通过使用 Exec 方法我无法隐藏命令提示符。我希望隐藏此命令提示符。

你能在这方面帮助我吗? 谢谢

请您参考如下方法:

是的,这困扰着所有 wsh 脚本编写者。无法隐藏 wshExec 对象,只有 .Run 允许此选项,但在这种情况下没有 StdOut。很快,唯一的方法就是将输出重定向到文件。

WshShell   = new ActiveXObject("WScript.Shell"); 
var launch ="cmd.exe /c java -classpath . HelloWorld > output.txt"; 
var cmdRun = WshShell.Run(launch,0,true); 


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!