Vai al contenuto

Aprire prompt comandi Java --Aiuto!!


Messaggi raccomandati

Buongiorno a tutti,

sto cercando disperatamente da due giorni di creare un'applicazione java (solo una classe) che apra il prompt dei comandi ed esegua un comando.

Ho scritto questa, ma non funziona:

public class Apri {

public static void main (String args[]){

Runtime r = Runtime.getRuntime();

String [] s = new String [3];

s[0]="cmd.exe";

s[1]="/C";

s[2]="dir";

r.exec(s);

}

}

Il problema è la riga r.exec(s);

Aiutooo!! vi prego:)

Link al commento
Condividi su altri siti

unreported exception java.io.IOException; must be caught or declared to be thrown

lo facciamo?:rolleyes:


  public class Apri {

public static void main (String args[]){

try{
Runtime r = Runtime.getRuntime();

String [] s = new String [3];
s[0]="cmd.exe";
s[1]="/C";
s[2]="dir";

r.exec(s);
}
catch (Throwable t)
         {
           t.printStackTrace();
         }


}
}

inoltre, chiaramente, non potrai usare cmd.exe su un sistema mac. e passare parametri potrebbe non essere semplicissimo.

"Errore di configurazione di Windows: mouse e tastiera scollegati. Premere F1 per riavviare."

"Assimilation is futile: Microsoft delenda est!"

6/6/2005: è l'inizio della fine.

Home Page | multiXFinder | OpenArena | SuspendNow!

Link al commento
Condividi su altri siti

Ciao, ti ringrazio molto dell'aiuto, anche se purtroppo il programma non riesce a funzionare lostesso:(

Errori di compilazione non ce ne sono, ma se compilo il programma con javac (da terminale) e poi lo eseguo sempre da terminale scrivendo java Apri non succede nulla.

Ho pensato all'inizio che fosse soltanto perchè java apre un terminale e lo chiude appena svolte le istruzioni, quindi in pochissimo tempo; così ho cambiato le tre istruzioni da dare al prompt dei comandi, in modo da fargli aprire word 2007.

Il programma si compila perfettamente, ma quando lo lancio non accade nulla lostesso:cry:

public class Apri {

public static void main (String args[]){

try{

Runtime r = Runtime.getRuntime();

String [] s = new String [3];

s[0]="cmd.exe";

s[1]="cd C:\\Programmi\\Microsoft Office\\Office12";

s[2]="WINWORD.EXE";

r.exec(s);

}

catch (Throwable t)

{

t.printStackTrace();

}

}

}

PS:comunque quel messaggio che dice unreported IO exception io non capivo cosa volesse dire (tuttora non lo so), per quello non sapevo come fare:mad:

Link al commento
Condividi su altri siti

come ho scritto sopra:

inoltre, chiaramente, non potrai usare cmd.exe su un sistema mac. e passare parametri potrebbe non essere semplicissimo.

se sei su un sistema mac os x devi usare i comandi del sistema mac os x…

guarda qui.

"Errore di configurazione di Windows: mouse e tastiera scollegati. Premere F1 per riavviare."

"Assimilation is futile: Microsoft delenda est!"

6/6/2005: è l'inizio della fine.

Home Page | multiXFinder | OpenArena | SuspendNow!

Link al commento
Condividi su altri siti

Buongiorno a tutti,

sto cercando disperatamente da due giorni di creare un'applicazione java (solo una classe) che apra il prompt dei comandi ed esegua un comando.

Ciao ... ecco cosa cercavi ... ma come ti è già stato detto funziona solo con windows!!!!!!

public class Apri {

 public static void main (String args[]){

   try{
     Runtime r = Runtime.getRuntime();

     String [] _s = {"cmd.exe", "/c", "start", "dir"};
     r.exec(_s);
     // r.exec("cmd.exe /c start dir");
   }
   catch (Throwable t){
     t.printStackTrace();
   }
 }
} 

Ciao e buon coding

tecnologicamente dipendente

Link al commento
Condividi su altri siti

Magari essere su mac OSX, sono su windows xp:(

e perché chiedi su italiamac?:mad:

"Errore di configurazione di Windows: mouse e tastiera scollegati. Premere F1 per riavviare."

"Assimilation is futile: Microsoft delenda est!"

6/6/2005: è l'inizio della fine.

Home Page | multiXFinder | OpenArena | SuspendNow!

Link al commento
Condividi su altri siti

Una mano non si nega a nessuno anche se si usa windows :mad:

certo…ma non è il posto migliore…:saltella:

"Errore di configurazione di Windows: mouse e tastiera scollegati. Premere F1 per riavviare."

"Assimilation is futile: Microsoft delenda est!"

6/6/2005: è l'inizio della fine.

Home Page | multiXFinder | OpenArena | SuspendNow!

Link al commento
Condividi su altri siti

Grazie infinite:), mi avete salvato, non ne venivo proprio fuori:):mad::)

Non ho capito cosa c'è di diverso tra la versione di jack e quella di sadamelik, ma andrò un po in cerca e vedo se riesco a capire.

PS: Ho chiesto qui perchè non sono iscritto a molti forum di informatica, ed di ogni caso so che siete sempre molto informati e disponibili, vi ringrazio ancora per l'aiuto:ciao:

Link al commento
Condividi su altri siti

Grazie infinite:), mi avete salvato, non ne venivo proprio fuori:):saltella::)

:mad:

Non ho capito cosa c'è di diverso tra la versione di jack e quella di sadamelik, ma andrò un po in cerca e vedo se riesco a capire.

Direi che sono all'incirca equivalenti.

PS: Ho chiesto qui perchè non sono iscritto a molti forum di informatica, ed di ogni caso so che siete sempre molto informati e disponibili, vi ringrazio ancora per l'aiuto:ciao:

Capito…

Forse a chi usa windows si :saltella:

:saltella:

"Errore di configurazione di Windows: mouse e tastiera scollegati. Premere F1 per riavviare."

"Assimilation is futile: Microsoft delenda est!"

6/6/2005: è l'inizio della fine.

Home Page | multiXFinder | OpenArena | SuspendNow!

Link al commento
Condividi su altri siti

...

Non ho capito cosa c'è di diverso tra la versione di jack e quella di sadamelik, ma andrò un po in cerca e vedo se riesco a capire.....

Sono equivalenti ... ma ora ti spieco la chiamata al runtime

cmd.exe /c start dir

cmd.exe /c -> Apri una console nel percorso "c:\"

start dir -> Apri un'altra console figlio indipendete da quella padre ed esegui il comando dir

Il percorso di questa nuova console è quello di quella padre quindi /c cioè "C:\"

La console padre e figlio non si comunicano tra loro, non è come la fork in unix, sono 2 processi completamente diversi

Forse a chi usa windows si :shock:

:mad:come chi usa windows non bisogna aiutarlo ... hanno già i loro problemi dati dalla casa di redmount quindi sono quelli che hanno più bisogno di aiuto!

P.s. io sono utente windows ;)

tecnologicamente dipendente

Link al commento
Condividi su altri siti

Sono equivalenti ... ma ora ti spieco la chiamata al runtime

cmd.exe /c start dir

cmd.exe /c -> Apri una console nel percorso "c:\"

start dir -> Apri un'altra console figlio indipendete da quella padre ed esegui il comando dir

Il percorso di questa nuova console è quello di quella padre quindi /c cioè "C:\"

La console padre e figlio non si comunicano tra loro, non è come la fork in unix, sono 2 processi completamente diversi

:mad:come chi usa windows non bisogna aiutarlo ... hanno già i loro problemi dati dalla casa di redmount quindi sono quelli che hanno più bisogno di aiuto!

P.s. io sono utente windows :rofl:

Che figura:oops:

When I’m Done, This Night Will Fear Me

Link al commento
Condividi su altri siti

Che figura:oops:

essere utenti windows?:rofl:

"Errore di configurazione di Windows: mouse e tastiera scollegati. Premere F1 per riavviare."

"Assimilation is futile: Microsoft delenda est!"

6/6/2005: è l'inizio della fine.

Home Page | multiXFinder | OpenArena | SuspendNow!

Link al commento
Condividi su altri siti

In teoria sarebbe come dici tu sadamelik, però quando lancio il programma lui non mi visualizza le directory di C:\, ma mi visualizza le directory della cartella che contiene il programma (la classe) che eseguo.:mhh:

Mi spiace errore mio ... correggo subito

ho proprio toppato di brutto sorry ;)

:) spero con questa release 0.0000001 sia risolto il tuo problema

public class Apri {

 public static void main (String args[]){

   try{
     Runtime r = Runtime.getRuntime();

     String [] _s = {"cmd.exe", "/c", "start", "dir", "\\"};
     r.exec(_s);
     // r.exec("cmd.exe /c start dir \\");
   }
   catch (Throwable t){
     t.printStackTrace();
   }
 }
}

sad

tecnologicamente dipendente

Link al commento
Condividi su altri siti

Grazie, sei un genio!:mhh:;)

Ma in pratica gli argomenti del comando exec dove vengono scritti per essere eseguiti? In start-esegui oppure dal prompt dei comandi cmd.exe?

E vengono eseguiti tutti assieme, come fossere scritti su una sola linea e poi premuto invio oppure ognuno in linee separate?

Te lo chiedo perchè dalla documentazione ufficiale di java non riesco a capirlo:oops:

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...