View Full Version : [JSP] Lanciare un .bat premendo un pulsante
claraluna
11-06-2008, 13:05
Ciao a tutti!
Vorrei poter lanciare un .bat premendo un pulsante in una pagina web.
E' possibile, vero?
Il codice che realizza il pulsante è questo:
<input type="submit" id="UploadAction_id" name="UploadAction" value="Upload" class="button" />
Dove e come bisogna inserire la chiamata del file bat?
Grazie dell'aiuto!
claraluna
12-06-2008, 14:43
Cerco di spiegarmi meglio...
Il bat contiene una linea di comando del tipo: java nomefile argomenti
Vorrei che venisse eseguita al click sul pulsante ;)
prova a partire da qui (http://java.sun.com/javase/6/docs/api/java/lang/Process.html)
claraluna
12-06-2008, 15:52
Ciao Angus! Grazie mille x l'interessamento!
Forse però non mi sono spiegata bene... io non devo scrivere del codice java, ma solo fare in modo che cliccando su un pulsante venga lanciato il file bat.
Finora per eseguirlo faccio doppio click su di esso oppure lo lancio da cmd, ma ho bisogno di inserirlo in una pagina web.
Non si può semplicemente richiamarlo alla pressione del pulsante?
Cioè non esiste qualcosa del tipo <input onClick=nomefile.bat ... ??
Fammi sapere, ti prego... :(
claraluna
12-06-2008, 16:13
Per intenderci... quando si clicca su Browser per fare l'upload di un file, si apre una finestra per scegliere il file.
Io vorrei cliccare su un pulsante e lanciare il file bat... o magari aprire il cmd.exe da cui poterlo esegiure.
Come se volessi lanciare un file .exe facendo click su un pulsante...
Mi sono spiegata? :)
dal titolo del thread pensavo che ti interessasse farlo in una JSP, quindi lato server :read:
Sicuramente c'è qualche espertone di JS e HTML che può aiutarti, magari prova a dettagliare meglio il problema, specificando ad esempio se lo script .bat risiede sul server del sito web oppure va lanciato dal browser lato client ;)
edit: pare di capire che lo script sia lato client...
claraluna
12-06-2008, 16:20
Esatto! Lato client ;)
Esatto! Lato client ;)
In teoria il browser dovrebbe impedire l'accesso al file system locale, per ragioni di sicurezza. Per Internet Explorer ho trovato questo (http://www.tek-tips.com/viewthread.cfm?qid=1226233&page=1) che utilizza ActiveX... ma non so se funziona davvero :)
claraluna
13-06-2008, 09:09
Ho seguito il tuo suggerimento, ma non funziona :(
Mi restituisce il seguente errore:
The requested resource ... is not available.
claraluna
13-06-2008, 09:16
Stavo pensando... dato che cmq il bat contiene solo una linea di comando (java nomefile argomenti) potrebbe non essere nemmeno necessario ricorrere a un file bat.
E' possibile inserire l'esecuzione della classe Java direttamente nel pulsante?
claraluna
13-06-2008, 11:08
Ho provato questo:
<html>
<script language="javascript" type="text/javascript">
function runApp()
{
var shell = new ActiveXObject("WScript.shell");
shell.run("notepad.exe", 1, True);
}
</script>
<body>
<input type="button" name="button1" value="Run Notepad" onClick="runApp()" />
</body>
</html>
Dovrebbe lanciare Notepad, ma quando clicco non mi apre nulla :(
claraluna
13-06-2008, 11:21
L'errore è questo:
Error: ActiveX component can't create object: 'Wscript.Shell'
Sembrerebbe un problema con ActiveX :(
L'errore è questo:
http://img259.imageshack.us/img259/6411/erroresk1.jpg
Sembrerebbe un problema con ActiveX :(
Controlla le impostazioni di sicurezza del tuo browser, cercando le voci che riguardano le componenti ActiveX. Purtroppo (:sofico: ) non sono esperto di roba Microsoft e non so darti altri suggerimenti.
^TiGeRShArK^
13-06-2008, 12:03
Per intenderci... quando si clicca su Browser per fare l'upload di un file, si apre una finestra per scegliere il file.
Io vorrei cliccare su un pulsante e lanciare il file bat... o magari aprire il cmd.exe da cui poterlo esegiure.
Come se volessi lanciare un file .exe facendo click su un pulsante...
Mi sono spiegata? :)
ehmmm..
ma non faresti prima a convertire quell'applicazione java in modalità webstart? :stordita:
http://java.sun.com/docs/books/tutorial/deployment/webstart/index.html
claraluna
13-06-2008, 14:12
Non ne ero a conoscenza... sembrerebbe una buona idea ;)
Io però non devo creare un file .jnlp, perchè ho il mio .class che è pronto per essere usato :)
Dovrebbe essere eseguito al click dell'utente, con anche alcuni parametri...
claraluna
13-06-2008, 14:33
Abilitando gli ActiveX sono riuscita a farlo eseguire! :)
Ora mi piacerebbe scoprire se è necessario ricorrere a un bat per eseguire il .class, oppure è possibile mettere i comandi del bat direttamente nel codice del pulsante (al posto del run del bat)
Non so se mi sono spiegata...
shimo-ne
13-06-2008, 16:22
L'ideale, se è un programma java che devi lanciare, sarebbe eseguirlo tramite JNLP come hanno detto oppure come applet...così eviti di dover modificare le impostazioni del browser e puoi eseguirlo anche da browser non microsoft...
e soprattutto ti togli di mezzo il .bat
Abilitando gli ActiveX sono riuscita a farlo eseguire! :)
Ora mi piacerebbe scoprire se è necessario ricorrere a un bat per eseguire il .class, oppure è possibile mettere i comandi del bat direttamente nel codice del pulsante (al posto del run del bat)
Non so se mi sono spiegata...
^TiGeRShArK^
13-06-2008, 17:39
Non ne ero a conoscenza... sembrerebbe una buona idea ;)
Io però non devo creare un file .jnlp, perchè ho il mio .class che è pronto per essere usato :)
Dovrebbe essere eseguito al click dell'utente, con anche alcuni parametri...
basta che seguendo il tutorial che ti ho linkato crei il tuo jnlp che richiamerà il tuo class e funzionerà su qualunque browser e qualunque sistema operativo, mentre così sei necessariamente limitata ad internet explorer su windows ;)
ciao claraluna, anche io devo fare la stessa cosa solo che al file bat devo passare degli argomenti ...come faccio?
tulipan
ciao claraluna, anche io devo fare la stessa cosa solo che al file bat devo passare degli argomenti ...come faccio?
tulipan
suppongo sia sufficiente aggiungere i parametri e argomenti nel link come se li immettessi in riga di comando, rispettando la sintassi richiesta.
es: "ping.exe -t hwupgrade.it"
lo script mi funziona su internet explorer mentre su firefox no. perchè?
tulipan
lo script mi funziona su internet explorer mentre su firefox no. perchè?
tulipan
potrebbe essere una impostazione di sicurezza?
(in fondo navigare in siti che ti fanno scaricare e girare file eseguibili senza che te ne accorgi non è il massimo... :rolleyes: )
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.