使用 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中文網其他相關文章!