2009-06-26 3 views
0

Java 프로그램의 매개 변수를 동일한 Java 프로그램에서도 사용되는 배치 파일로 전달하는 방법을 알 수 있습니다.Java to batch file

다음 스텁 내가 위의 코드에서 사용되는 TEST.BAT 몇 가지 매개 변수를 전달할 수 있다면

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

내가 알 필요가 배치 파일을 실행 코드의 조각을 나타냅니다.

+0

배치 프로그램을 실행해야하는 이유를 말씀해 주시겠습니까? – akarnokd

답변

1

당신은 Runtime.getRuntime에 인수로 문자열 배열을 사용할 수 있습니다() 간부 인().

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

답이 잘못되었습니다. envp - 각 요소의 환경 변수 설정이 name = value 형식으로되어있는 문자열 배열. 하위 프로세스가 현재 프로세스의 환경을 상속해야하는 경우 null입니다. –

+0

오른쪽 오버로드를 연결했으나 잘못 작성했습니다. envp는 매개 변수의 배열이 아닌 환경 변수의 배열입니다. 하나는 exec (String [] cmdarray)입니다 (단 하나의 String []), ammoQ에 의해 주어진 것입니다. –

+0

당신이 옳습니다. 링크는 원본이지만 소스에서 서명을 복사하기에는 너무 빠릅니다! 미안 해요. 해리 쉬. 수정되었습니다. – akf

0

exec() 호출에 매개 변수를 삽입 할 수없는 이유는 무엇입니까?

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

내가 구문이 박쥐 파일의 매개 변수에서 얻을 생각이다.

%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