Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-12-2006, 17:04   #1
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
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!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2006, 18:49   #2
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
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!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2006, 19:05   #3
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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);
In Java 5

Codice:
new ProcessBuilder(
    "cmd", "/K", "copy", "FileA.txt", "FileA.copy.txt").start();
Quando incontri qualche problema con i comandi Runtime, butta l'occhio all'help del comando di sistema che stai cercando di eseguire. Di solito c'è sempre una virgoletta in più o in meno da mettere.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2006, 19:50   #4
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
Quote:
Originariamente inviato da PGI-Bis
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);
In Java 5

Codice:
new ProcessBuilder(
    "cmd", "/K", "copy", "FileA.txt", "FileA.copy.txt").start();
Quando incontri qualche problema con i comandi Runtime, butta l'occhio all'help del comando di sistema che stai cercando di eseguire. Di solito c'è sempre una virgoletta in più o in meno da mettere.

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!!!! siete i mejo!
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2006, 20:08   #5
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
Quote:
Originariamente inviato da Oceans11
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!!!! siete i mejo!
bhè..
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....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2006, 20:14   #6
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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());
		}
	}
}
sembra funzionare (WindowsXP).
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2006, 20:15   #7
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
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
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2006, 20:17   #8
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
Quote:
Originariamente inviato da PGI-Bis
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());
		}
	}
}
sembra funzionare (WindowsXP).
si confermo...
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?
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2006, 20:18   #9
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
Quote:
Originariamente inviato da ^TiGeRShArK^
bhè..
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....

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!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2006, 20:20   #10
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
Non avevo notato ke lo catchavi tu l'ouput
Così direi che funge senza problemi
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2006, 20:22   #11
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
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!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2006, 20:28   #12
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
Quote:
Originariamente inviato da Oceans11
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!!!!
Per i tuoi scopi direi ke la osluzione di PGI va + ke bene..
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
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2006, 13:56   #13
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
Quote:
Originariamente inviato da PGI-Bis
per aprire la finestra del prompt del dos, in windows, la sequenza di stringhe è "cmd", "/C", "start"
funziona alla grande!!grazie a entrambi!
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
SMS of Death fa crashare Android senza i...
BYD Yangwang U9 Xtreme da 2.977 CV fatta...
Altro che Made in USA: cosa si nasconde ...
Binance riapre dopo il maxi furto: gli u...
Ecovacs X12 OmniCyclone crolla a 599€ (p...
Solo le cialde Nespresso Original costan...
Un nuovo materiale termoelettrico promet...
Nuova acquisizione per Apple: ingegneri ...
OpenAI ritira il taglio al Pro 200, Anth...
Polymarket, script esterno compromesso: ...
I MacBook Pro con display OLED avranno u...
DeepSeek rilascia Superagent: arriva l'a...
Meta ha costruito in Cina il robot umano...
App non ottimizzate sui pieghevoli? Goog...
Dyson Supersonic super scontato su Amazo...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:11.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v