Desidera nascondere la finestra del prompt dei comandi utilizzando WshShell.Metodo Exec

Voglio eseguire un programma java da un javascript e desidera ottenere il risultato.

Intailly ho provato con il codice qui sotto:

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

Attraverso il metodo Run io non sono in grado di ottenere l’output della classe.

Poi ho provato con il codice qui sotto:

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

Ora sono in grado di ottenere l’output in una variabile di output.

Il mio problema è che utilizzando il metodo Run posso nascondere la commandprompt(passando i parametri WshShell.Eseguire(lancio,0,true))
Dove, utilizzando il metodo Exec io non sono in grado di nascondere le commandprompt. Voglio che questo commandprompt per essere nascosto.

Mi può aiutare in questo senso?
Grazie

OriginaleL’autore user2118354 | 2013-02-28

One Reply
  1. 9

    Sì, che preoccupa tutti gli autori di script wsh. Nessun modo per nascondere wshExec oggetto, solo .Run permettono questa opzione, ma non StdOut in questo caso. Di lì a poco, l’unico modo è quello di reindirizzare l’output in un file.

    WshShell   = new ActiveXObject("WScript.Shell");
    var launch ="cmd.exe /c java -classpath . HelloWorld > output.txt";
    var cmdRun = WshShell.Run(launch,0,true);
    Grazie Panayot per la conformazione ho pensato anch’io!!
    Eh, ho solo dimenticato di dire benvenuto a StackOverflow 😉 E comunque, quindi si ottiene risposta valida contrassegno è accettato, che pompa punti su entrambi i lati, me e te in questo caso, ma anche aiuta il resto lettori del forum per sapere che la risposta 😉
    Grazie Panayot!! Ho fatto come mi hai suggerito.

    OriginaleL’autore

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *