...ragazzi avrei la necessità di lanciare un file.bat da java...
...qualcuno sa aiutarmi please????...
...
...ragazzi avrei la necessità di lanciare un file.bat da java...
...qualcuno sa aiutarmi please????...
...
penso una cosa del genere
Runtime.getRuntime().exec("file.bat")
...adesso magari guardo bene la classe...
...pensi a una cosa del genere o...
...lo hai già fatto e quindi funziona sicuramente???...
...grazie mille!!!
diciamo che ne sono sicuro, a patto che l'applicazione debba girare solo su sistemi microsoft, il che non è una bella premessa dato che programmi in java
Comunque devi solo aggiungere quelle righe di codice dove ti serve
...sono un' aspirante programmatore...
...mi piacerebbe molto passare al mondo UNIX ma...
...bisognerebbe avere un pochino di tempo...
...cmq adesso provo e poi al massimo se dovesssi avere dei problemi...
...grazie mille!!!
bohhhhhh!!!!
java.io.IOException: CreateProcess: esempio.bat error=2
at java.lang.Win32Process.create(Native Method)
at java.lang.Win32Process.<init>(Win32Process.java:66 )
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:566)
at java.lang.Runtime.exec(Runtime.java:428)
at java.lang.Runtime.exec(Runtime.java:364)
at java.lang.Runtime.exec(Runtime.java:326)
at _jsp._prova__jsp._jspService(/prova.jsp:192)
sei sicuro che il file.bat sia un batch valido?
postalo
attento che in questo modo il processo non sarà "visibile", ma dovrai intercettare l'output e dirottarlo sulla tua falsa console con un codice tipo questo(almeno a me tocca fare così):
cosa simile per inviare dati in input al processo ma userai p.getOutputStream().codice:... Process p = Runtime.getRuntime().exec("file.bat"); InputStream in = new InputStream(p.getInputStream()); int i = 0; while((i = in.read()) != -1) { System.out.println((char)i); } ...
se il tuo programma è un applet, servlet o jsp controlla che le impostazione di sicurezza consentano l'esecuzione di processi, cosa che non dovrebbe influire dato che non vedo SecurityException... posta il pezzo di codice in cui hai inserito il comando per lanciare il processo.
Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)
...intanto grazie a tutti per le risposte...
...la mia è una semplice procedura che deve solo ed escusivamente
lanciare un file.bat...
...è poi il .bat che lancia un comando che mi fa una copia integrale
...della tabella di un db o di un db intero...
prova.jsp *
-------------------------------------------------------------------
Process pro = Runtime.getRuntime().exec("cmd.exe +esempio.bat");
//Process pro = Runtime.getRuntime().exec("esempio.bat");
-------------------------------------------------------------------
esempio.bat *
-------------------------------------------------------------------
ren pippo pluto
-------------------------------------------------------------------
...è propio un comando banalissimo giusto per provare...
...ma purtroppo non mi funziona...uffff...
...non mi da errore ma...non mi esegue nemmeno il .bat!!!!
Volevo anche chiedere...
...se il .bat da lanciare fosse in un' altra directory come argomento cosa dovrei passare????
...dai ragazzi datemi una mano...
...se riuscissi a lanciare questi piccoli file.bat...
...risolverei un casino di problemi!!!
...per problemi di performance uso creare delle tabelle di appoggio che leggono un db Oracle e scrivono in db mssql...
...fino ad ora leggevo il record X in Oracle e lo scrivevo in mssql...
...ma adesso che le tabelle sono grosse i tempi sono troppo lughi e...
...stavo cercando una via alternativa...
...se conoscete altre strade valide...insomma ogni consiglio è bene accetto!!!...
...grazie mille!!!
se il file bat non è nella stessa directory di esecuzione devi mettere il path assoluto
poi controlla di aver aggiunto il carattere di ritorno a capo dopo l'istruzione nel file batch