2017-03-12 23 views
0

をプロンプトWindowsコマンド内の引数でexeファイルを実行するためにJavaでProcessBuilderをを使用する方法:これは私が使用してきたコードである

  ProcessBuilder process = new ProcessBuilder("C:\\Users\\path\\to\\exe\\my_exe.exe ", 
       "my_exe.exe", "/removeDrive", "driveLocation"); 
      process.start(); 

すべてこれはexeファイルを実行されてあるようですが、私に」私が望むコマンドを実行するためにそれを得る。

CMDのコマンドは次のようになります。

C:\users\path\to\exe>my_exe.exe /removeDrive driveLocation 

コマンドは、Windowsで正常に動作コマンドプロンプト

+0

ハブ新しいProcessBuilder( "C:\\ Users \\ path \\ to \\ exe \\ my_exe.exe"、 "/ removeDrive"、 "driveLocation") 'を試しましたか? – janos

+0

それはまた、exeを開いているようです。 – javasaucebiner

答えて

2

同じこと行う別の方法:

ProcessBuilder pb = new ProcessBuilder(
     "cmd", "/c", "path/to/exe.exe", 
     "/removeDrive", "driveLocation"); 
pb.start(); 

それとも、ドンが」を出力が必要:

Runtime.getRuntime().exec("cmd /C my_exe.exe /removeDrive driveLocation"); 
+1

'cmd'と'/c'の意味は何ですか? – javasaucebiner

+0

CMDはWindowsのコマンドプロンプトで、/ cは文字列で指定されたコマンドを実行して終了します。 –

+0

'getRuntime()。exec()'はディレクトリを指定する必要がありますか? – javasaucebiner

関連する問題