|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
[java] eseguire comando con Runtime
il metodo statico Runtime.exec(String) funziona se devo aprire la calcolatrice, esplora risorse, regedit, ecc....ma se provo ad eseguire cmd oppure command non fa proprio niente...e con niente intendo dire che non mi da neanche errore!!!come mai???
(sto usando windows xp pro e sdk 1.5)
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
nessuno sa indicarmi la retta via??
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Immagino che sia un problema di sintassi. Supponendo di voler eseguire il comando "copy FileA.txt FileA.copy.txt", la sintassi sarebbe:
Codice:
String[] command = {
"cmd", "/K", "copy", "FileA.txt", "FileA.copy.txt"
};
Runtime.getRuntime().exec(command, null, null);
Codice:
new ProcessBuilder(
"cmd", "/K", "copy", "FileA.txt", "FileA.copy.txt").start();
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Quote:
credo di non essermi spiegato bene... apparte che ho provato anche con il comando "dir", proprio come nell'esempio che mi hai fatto tu.[edit: e non funziona lo stesso! Comunque il mio problema (mi scuso per l'incomprensione) è che vorrei eseguire proprio un altro "cmd.exe" (oltre quello che uso per lanciare la VM) e basta, senza parametri! spero nel tuo aiuto! PS: dovrebbero fare una statua a te e andbin!!!!
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
se è quello ke penso io il problema è abbastanza rognoso e mi aveva fatto perdere una mezz'oretta di sbattimenti su google ai tempi... Praticamente a me accadeva che cmd (o un qualsiasi .bat da lanciare tramite cmd) non poteva partire se non grabbavi l'outputstream. Avevo trovato una classettina già fatta ke risolveva egregiamente il problema, ma ce l'ho al lavoro se trovo un minutino di tempo domani te la posto così vedi se il problema dipende da quello....
__________________
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
per aprire la finestra del prompt del dos, in windows, la sequenza di stringhe è
"cmd", "/C", "start" cioè new ProcessBuilder("cmd", "/C", "start").start(); Nel caso del comando dir a me: Codice:
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
ProcessBuilder builder = new ProcessBuilder("cmd", "/C", "dir");
Process p = builder.start();
Scanner in = new Scanner(p.getInputStream());
while(in.hasNextLine()) {
System.out.println(in.nextLine());
}
}
}
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Intanto mi sono ricordato dove avevo trovato l'articolo originale
qui c'è il link http://www.javaworld.com/javaworld/j...ps.html?page=1 è spiegato abbastnza bene e nn dovresti avere problemi di sorta ad adattare il tuo codice per farlo funzionare
__________________
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
così ad okkio direi ke dovrebbe andare perchè lo stai lanciando in un altro thread e non resta in attesa di qualcuno ke "catchi" l'outputstream. Però così facendo non ti perdi tutto l'output?
__________________
|
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Quote:
io è più di una mezz'oretta che mi sbatto su google!!! ma trovo solo esecuzione di cmd con parametri (es: "cmd /C dir"), che cmq non funzionano! PS: stai entrando anche tu nella lista dei miei miti!!!!
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Non avevo notato ke lo catchavi tu l'ouput
Così direi che funge senza problemi
__________________
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
ops...sono arrivato in ritardo!
[Commento personale] per la miseria che razza di geniacci ci stanno in giro!! siete...Titanici!!!!! grazie di tutto! [/Commento personale]
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
cmq ti consiglio vivamente di leggere l'interessante articolo su java world che spiega un bel pò di cose e ti può aiutare nel caso in cui devi utilizzare cose un pò + avanzate dalla linea di comando
__________________
|
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Quote:
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:58.



















