Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724

    inviare comando a prompt ms-dos

    vorrei passare una stringa contenente un comando al prompt di ms-dos. come faccio??

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: inviare comando a prompt ms-dos

    Originariamente inviato da perzem
    vorrei passare una stringa contenente un comando al prompt di ms-dos. come faccio??
    Quindi devi avviare un processo esterno. Ammesso di avere i permessi per farlo, puoi fare:
    codice:
    Runtime.getRuntime().exec("...comando...");
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    codice:
    command="ffmpeg.exe -i C:/Documents and Settings/Andrea/Desktop/Conversione/Temp/"+a+".avi -b 90 C:/Documents and Settings/Andrea/Desktop/Conversione/Temp/"+a+".mp4";
     	   System.out.println(command); 
    	   
     	try{
     	Runtime.getRuntime().exec("command");
     		 	    
     	}catch(Exception e){System.out.println(e);}
    	  
    	    
    	}
    ho inserito questo comando ma nn ottengo nessun risultato, forse sta nel fatto che ffmpeg viene esguito solo da riga di comando e nn ha alcuna interfaccia??

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da perzem
    codice:
    try{
    Runtime.getRuntime().exec("command");
    
    }catch(Exception e){System.out.println(e);}
    Se hai già una String con il comando, non devi mettere le virgolette!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    si si hai ragione quello è stato un errore di copiatura, ma la nn esecuzione del comando nn dipende da quello. Ffmpeg viene eseguito nella stessa shell nella quale digito il comando quindi forse è quello il problema che nn esiste la shell dove eseguirlo

  6. #6
    prova con:

    codice:
    command="cmd /C  ffmpeg.exe -i \"C:/Documents and Settings/Andrea/Desktop/Conversione/Temp/"+a+".avi\" -b 90 \"C:/Documents and Settings/Andrea/Desktop/Conversione/Temp/"+a+".mp4\"";
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    grazie funzionano entrambi...
    vorrei sapere se è possibile monitorare il comando lanciato, ad esempio mettere una progressbar finche il processo nn è finito. Il comando che lancio ha un esecuzione di circa 10 minuti

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da perzem
    vorrei sapere se è possibile monitorare il comando lanciato, ad esempio mettere una progressbar finche il processo nn è finito. Il comando che lancio ha un esecuzione di circa 10 minuti
    I metodi exec della classe Runtime restituiscono un oggetto di tipo Process.
    Tramite questo oggetto, puoi attendere la fine del processo e anche ottenere il codice di stato restituito.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    codice:
    public static void Esegui(String command){
    	    Runtime r = Runtime.getRuntime();
    	        try{
    	           
    	            Process pr = Runtime.getRuntime().exec(command);
    	            int exitVal = pr.waitFor();
    	            System.out.println("Process exitValue: " + exitVal);
    	        }catch(Throwable e){
    	            e.printStackTrace();
    	         }
    	        
    	}

    ho aggiunto queste due righe di codice, ma il processo se prima girava tranquillamente ora si pianta e devo chiuderlo dal task manager e poi mi stampa 1... ma in questo modo non posso metter una progress bar perchè verrebbe eseguita solo dopo la fine del processo...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.