Java 経由で CMD コマンドを実行しています
問題:
Java 経由で CMD コマンドを実行しようとしていますJava クラスですが、コードを理解するという課題に直面しています。ユーザーは、ディレクトリの変更 (cd) や新しいディレクトリ内でのコマンドの実行など、特定のコマンドの実行方法に関するガイダンスを必要としています。
解決策:
実行の 1 つのアプローチ代替ディレクトリから Java プログラムの作業ディレクトリへのプロセスを実行するには、目的のディレクトリに移動し、同じコマンド ラインでプロセスを実行します。これは、次の形式のコマンド ラインを実行するように cmd.exe に指示することで実現できます。
cd some_directory && some_program
コード例:
次の Java コードは、別のディレクトリに移動し、その中で「dir」コマンドを実行するディレクトリ:
import java.io.*; public class CmdTest { public static void main(String[] args) throws Exception { ProcessBuilder builder = new ProcessBuilder( "cmd.exe", "/c", "cd \"C:\Program Files\Microsoft SQL Server\" && dir"); builder.redirectErrorStream(true); Process p = builder.start(); BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; while (true) { line = r.readLine(); if (line == null) { break; } System.out.println(line); } } }
説明:
サンプル出力:
提供されたコードは次の出力を生成します:
C:\Users\Luke\StackOverflow>java CmdTest Volume in drive C is Windows7 Volume Serial Number is D8F0-C934 Directory of C:\Program Files\Microsoft SQL Server 29/07/2011 11:03 <DIR> . 29/07/2011 11:03 <DIR> .. 21/01/2011 20:37 <DIR> 100 21/01/2011 20:35 <DIR> 80 21/01/2011 20:35 <DIR> 90 21/01/2011 20:39 <DIR> MSSQL10_50.SQLEXPRESS 0 File(s) 0 bytes 6 Dir(s) 209,496,424,448 bytes free
以上がJava で異なるディレクトリから CMD コマンドを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。