2011-12-07 93 views
1

我想通過傳遞類似的命令行參數來調用批處理文件(tomcat的startup.bat):> startup.bat -Dsun.lang。 ClassLoader.allowArraySyntax = true如何將命令行參數發送到包含「=」的批處理文件char

但是「=」符號正被替換爲空格。 如果我把c:> startup.bat -D「sun.lang.ClassLoader.allowArraySyntax = true」的值設置不正確。

我使用Windows 7

反正是有傳遞包含「=」命令行參數?

感謝, 西瓦

回答

1

你不能做這種事,批處理文件,除了改變%1%1=%2,這隻有當你知道你傳遞到底有多少參數在工作,或你知道他們總是會成對的。 (我想你可以循環,並放在一起所有-Dxxx參數的下一個參數,並把那些沒有領先-D,但是如果你有其他=風格的參數,它可能帶來麻煩。)

,但你可以做一些的批處理文件,把你的參數報價:

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

可以使用%*所有參數。

在批處理

@echo off 
javac %* 

或者你可以enquote您完整的參數 startup.bat "-Dsun.lang.ClassLoader.allowArraySyntax=true"

而且的startup.bat看起來像

@echo off 
javac %~1 
(周邊%1引號%〜1項刪除)
相關問題