xyz.cmd
directory にあるファイルを実行する必要がありますE:/abc
。したがって、実行するファイルの絶対パスはE:/abc/xyz.cmd
. 実行すると、ファイル自体によって新しいウィンドウが作成されます。
私のコードスニペットは次のとおりです:-
String path = “E:\\abc”;
String cmd = path + “\\xyz.cmd”;
ProcessBuilder processBuilder = new ProcessBuilder(cmd);
processBuilder.redirectErrorStream(true);
processBuilder.directory(new File(path));
processBuilder.start();
これは機能しませんが、エラーや例外は発生しません。ただし、cmd ファイルは問題なく動作します。エクスプローラーまたは cmd-prompt を使用して、そのディレクトリから手動で実行できます。さまざまなバージョンの jdk を使用してみましたが、無駄でした。Windows 7 OS を使用しています。タスク マネージャーでも実行中のプロセスが表示されません。何がうまくいかないのですか?同じコードは、同じ構成の別のコンピューターで正常に動作します。
===編集==== これはセキュリティ上の問題でしょうか? プログラムを実行しているユーザーがファイルを実行するのに十分な権限を持っていないようなものですか?