ホームページ > Java > &#&チュートリアル > Java で異なるディレクトリから CMD コマンドを実行するにはどうすればよいですか?

Java で異なるディレクトリから CMD コマンドを実行するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-03 05:48:39
オリジナル
632 人が閲覧しました

How to Execute CMD Commands from Different Directories in Java?

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);
        }
    }
}
ログイン後にコピー

説明:

  • このコードは、ProcessBuilder を使用してコマンドを実行します。
  • 「redirectErrorStream(true)」 " 呼び出しはプロセスの標準エラーを標準出力にリダイレクトし、その結果、ストリームが 1 つだけ生成されます。 read.

サンプル出力:

提供されたコードは次の出力を生成します:

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート