Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Eseguire comandi dos tramite applicazione Java

    Dovrei eseguire dei comandi dos prefissati tramite un programma java: il programma, dopo aver editato dei files, dovrebbe avviare una finestra di dos e "autoimmettere" in essa 2 comandi (un comando "cd" per puntare alla directory desiderata ed il comando jar per creare dei files jar).

    Riesco ad avviare la finestra di dos tramite
    Runtime run = Runtime.getRuntime();
    run.exec("cmd /c start");

    ma non sono capace a far eseguire i comandi "cd" e "jar", come devo fare?

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

    Re: Eseguire comandi dos tramite applicazione Java

    Originariamente inviato da laplace82
    Dovrei eseguire dei comandi dos prefissati tramite un programma java: il programma, dopo aver editato dei files, dovrebbe avviare una finestra di dos e "autoimmettere" in essa 2 comandi (un comando "cd" per puntare alla directory desiderata ed il comando jar per creare dei files jar).

    Riesco ad avviare la finestra di dos tramite
    Runtime run = Runtime.getRuntime();
    run.exec("cmd /c start");

    ma non sono capace a far eseguire i comandi "cd" e "jar", come devo fare?
    Se devi anche cambiare directory prima di avviare il comando jar, ti conviene usare il exec() di Runtime che riceve un File per impostare la working directory:

    codice:
    File dir = new File ("...directory...");
    rt.exec ("jar blabla....", null, dir);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Come dici tu ottengo un errore

    I 2 comandi funzionanti tramite dos sono:
    cd "D:\Mia cartella\sotto cartella\NOME CARTELLA FILE"
    jar cvfm "D:\Mia cartella\sotto cartella\FILE.jar" "D:\Mia cartella\sotto cartella\NOME CARTELLA FILE\META-INF\MANIFEST.MF" .


    Essendo quindi il comando jar ricorsivo devo per forza puntare prima alla radice del comando jar.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da laplace82
    Come dici tu ottengo un errore

    I 2 comandi funzionanti tramite dos sono:
    cd "D:\Mia cartella\sotto cartella\NOME CARTELLA FILE"
    jar cvfm "D:\Mia cartella\sotto cartella\FILE.jar" "D:\Mia cartella\sotto cartella\NOME CARTELLA FILE\META-INF\MANIFEST.MF" .


    Essendo quindi il comando jar ricorsivo devo per forza puntare prima alla radice del comando jar.
    Usare path assoluti nei sorgenti è in genere una pessima idea, ma giusto e solo per farti l'esempio:

    codice:
    File dir = new File ("D:\\Mia cartella\\sotto cartella\\NOME CARTELLA FILE");
    rt.exec ("jar cvfm \"D:\\Mia cartella\\sotto cartella\\FILE.jar\" \"D:\\Mia cartella\\sotto cartella\\NOME CARTELLA FILE\\META-INF\\MANIFEST.MF\" .", null, dir);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.