Java を使用したコマンド ライン コマンドの実行
Java を使用してコマンド ライン引数を実行しようとする場合、さまざまな操作のニュアンスを理解することが重要です。システム。この記事は、Windows ユーザーが Java 経由で CMD コマンドを実行しようとするときに直面する特定の問題に対処することを目的としています。
質問に示されている例は、コマンドを通じて「cd」コマンドと「dir」コマンドを実行しようとする試みを示しています。 Javaを使用した行。ただし、この方法では期待した結果が得られません。これを克服するには、別のアプローチが必要です。
解決策は、コマンド プロンプト (CMD) プロセスを構築し、入出力ストリームを通じて対話的に通信することにあります。これにより、次のコードに示すように、単一プロセス内で複数のコマンドをシームレスに実行できます。
String[] command = {"cmd"}; Process p = Runtime.getRuntime().exec(command); // Thread to handle error stream new Thread(new SyncPipe(p.getErrorStream(), System.err)).start(); // Thread to handle input stream new Thread(new SyncPipe(p.getInputStream(), System.out)).start(); // PrintWriter to write to the output stream PrintWriter stdin = new PrintWriter(p.getOutputStream()); // Write the "dir" command stdin.println("dir c:\ /A /Q"); // Close the stdin stream stdin.close(); // Wait for the process to complete int returnCode = p.waitFor(); // Print the return code System.out.println("Return code = " + returnCode);
このアプローチにより、CMD プロセス内で複数のコマンドを実行できるようになり、より効率的で多用途なコマンドが提供されます。 Java からコマンドラインを操作する方法。
以上がJava から複数の CMD コマンドを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。