3

Javaからいくつかのコマンドシェルを実行する方法を探していました。これはstackoverflowで見つけましたが、セッションごとに1つのコマンドシェルを実行する場合にのみ役立ちます:

try {  
        // Execute command  
        String command = "ls -la";  
        StringBuffer ret=new StringBuffer();  
        Process p = Runtime.getRuntime().exec(command);  

        // Get the input stream and read from it  
        InputStream in = child.getInputStream();  
        int c;  
        while ((c = in.read()) != -1) {  
        ret.append((char)c);  
        }  
        in.close();  
        System.out.println(ret.toString());  
    } catch (IOException e) {  
    e.printStackTrace();  
    }  

上記のコードを使用して、同じセッションで多くのコマンドを実行する方法はありますか?

4

4 に答える 4

0

このコードは。内に簡単に記述できますfor-loop

于 2012-07-12T12:23:27.810 に答える
0

コマンドをシェル スクリプトにグループ化し、それを実行することもできます。

于 2012-07-12T12:27:05.810 に答える
0

一連のコマンドを含む実行可能なシェル スクリプトまたはバッチ ファイルを記述し、それを 1 つのコマンドとして実行できます。

于 2012-07-12T12:28:08.180 に答える
0

まず、それは使用方法ではありませんRuntime.exec()。最初のパラメーターは実行可能ファイルであり、他のパラメーターはその実行可能ファイルへのパラメーターです。

"ls -la"現在、あなたのコードは、もちろん存在しない、literally というファイルを実行しようとしています。

コードを次のように変更します。

String[] command = {"ls", "-la"}; // Use an array
Runtime.getRuntime().exec(command);  
于 2012-07-12T12:30:06.777 に答える