2009-06-26 9 views
0

Javaプログラムから同じJavaプログラムでも使用されているバッチファイルにパラメータを渡す方法を知ってもらえますか?バッチファイルからJavaへ

次のスタブは私が上記のスニペットで使用されているTEST.BATするためにいくつかのパラメータを渡すことができれば

Runtime rt = Runtime.getRuntime(); 
rt.exec("C:/test.bat"); 

は私が知っている必要があり、バッチファイルを実行するコードの一部を示します。

+0

バッチプログラムを実行する必要がある理由を教えてください。 – akarnokd

答えて

1

あなたはRuntime.getRuntime(への引数として文字列配列を使用することができます)のexec()。

rt.exec("C:/test.bat "+someparm+" "+anotherparm); 
+0

間違った答え。 envp - 各要素の環境変数設定がname = valueの形式である文字列の配列。サブプロセスが現在のプロセスの環境を継承する必要がある場合はnull。 –

+0

あなたは正しいオーバーロードをリンクしましたが、間違ったものを書きました。 envpは環境変数の配列であり、パラメータの配列ではありません。右のものは、ammoQによって与えられたexec(String [] cmdarray)(ただ一つのString [])です。 –

+0

あなたは正しいです。リンク元は元気でしたが、ソースから署名をコピーするには速すぎます!ごめんなさい@ハリッシュ、もし私があなたを迷子に導いたなら。修正されました。 – akf

0

exec()コールにパラメータを挿入できないのはなぜですか?

rt.exec("C:/test.bat <param 1>..."); 

私はbatファイル内のパラメータで取得するための構文はあると思う:。

%1 for first param  
%2 for second... 
1

は、私はあなたがちょうどあなたがコマンドライン上でそれを実行した場合と同じ、最後に文字列を、それを固執かなり確信してご覧ください

String[] cmd = { "C:/test.bat", "param1", "param2" } 
Runtime rt = Runtime.getRuntime(); 
rt.exec(cmd); 
2

これは動作するはずです::JavaDoc

public Process exec(String[] cmdarray) throws IOException 
関連する問題