Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Want to hide command prompt window in using WshShell.Exec method

Tags:

javascript

I want to execute a java program from a javascript and want to get the output.

Intailly i tried with below code:

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

Through Run method i am not able get the output of the class.

Then i tried with below code:

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);

Now i am able to get the output in variable output.

My problem is using Run method i can hide the commandprompt(by passing parameters WshShell.Run(launch,0,true)) Where as by using Exec method i am not able to hide the commandprompt. I want this commandprompt to be hidden.

Can you please help me in this regard? Thanks

like image 608
user2118354 Avatar asked Feb 28 '13 05:02

user2118354


1 Answers

Yes, that bother all wsh scripters. No way to hide wshExec object, only .Run allow this option, but no StdOut in this case. Shortly, the only way is to redirect your output to file.

WshShell   = new ActiveXObject("WScript.Shell");
var launch ="cmd.exe /c java -classpath . HelloWorld > output.txt";
var cmdRun = WshShell.Run(launch,0,true);
like image 147
Panayot Karabakalov Avatar answered Sep 20 '22 00:09

Panayot Karabakalov