私のJavaコードから.exeファイルを実行するには、いくつかの引数/オプションを.exeファイルに渡します。Javaから.exeファイルを実行する
だから、基本的に、私は次のようでした:
BufferedReader br = null;
OutputResult out = new OutputResult();
String commandStr= "cmd.exe /C A-B/xyz.exe health -U admin -P admin";
Process p = Runtime.getRuntime().exec(commandStr);
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
out.add(line.trim());
}
注:ここで、Bはxyz.exeが配置されているディレクトリの名前です。
しかし、変数outを出力すると、実際には何もないことが示されます。
そこで代わりに上記のコードを私には、以下にそれを修飾:
BufferedReader bre = null;
OutputResult oute = new OutputResult();
String commandStr= "cmd.exe /C A-B/xyz.exe health -U admin -P admin";
Process p = Runtime.getRuntime().exec(commandStr);
bre = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String line;
while ((line = bre.readLine()) != null) {
oute.add(line.trim());
}
今ここ変数OUTEが印刷されるとき、それはメッセージを示し、
「AB」は内部として認識されませんまたは外部コマンド、動作可能なプログラムまたはバッチファイルである。
私の質問は、実際の.exeファイルが存在するディレクトリとしてA-Bが扱われない理由です。
この問題について知っている方は、エラーを解決してください。
プログラムを直接呼び出すことができます。 'cmd.exe'を追加する必要はありません – CSK
これは同じことをする別の方法かもしれませんが、ここでの質問はABがディレクトリとして扱われていない理由です!...そして、そうであってはいけません。代わりに、コードは、ディレクトリ内に移動し、exeファイルを実行する必要があります。 – gautam