2011-12-07 4 views
1

c :> startup.bat -Dsun.lang과 같은 명령 줄 인수를 전달하여 배치 파일 (tomcat의 startup.bat)을 호출하려고합니다. ClassLoader.allowArraySyntax = true"="문자를 포함하는 배치 파일에 명령 줄 인수를 보내는 방법

그러나 "="기호는 공백으로 대체됩니다. c :> startup.bat -D "sun.lang.ClassLoader.allowArraySyntax = true"를 입력하면 값이 올바르게 설정되지 않았습니다.

나는 "="를 포함하는 명령 줄 인수를 전달하는 어쨌든 윈도우 7

이되어 사용하고?

감사합니다, 시바

답변

1

당신은, 당신은 당신이 통과 정확히 얼마나 많은 매개 변수를 알고있는 경우에만 작동 %1=%2로 변경 %1를 제외하고, 그것을 배치 파일 내부에 대해 많은 것을 할 수 없거나 당신은 그들이 항상 쌍으로 올 것이라는 것을 압니다. (난 당신이 루프 수 및 다음 매개 변수와 함께 -Dxxx 모든 매개 변수를 넣어 선두 -D없이 사람들을 넣어 가정,하지만 당신은 다른 = 스타일 매개 변수가 있다면 정말 지저분한 얻을 수 있습니다.)

하지만 당신은 할 수 따옴표에서 매개 변수를 넣어, 외부에 배치 파일을 뭔가 을 : 당신은 모든 매개 변수에 대한 %*을 사용할 수 있습니다

startup "-Dsun.lang.ClassLoader.allowArraySyntax=true" 
0

. 당신의 배치에

@echo off 
javac %* 

또는 당신이 당신의 완전한 매개 변수 startup.bat "-Dsun.lang.ClassLoader.allowArraySyntax=true"

을 enquote 수 그리고 startup.bat를이

@echo off 
javac %~1 
(% 1에서 따옴표를 둘러싼 % ~ 1 개 제거합니다)처럼 보인다
관련 문제