bat默認只能獲取到1-9個參數,分別用%1 %2 ... %9引用,如果傳給bat的參數大於9個,就必須用shift。
工作需要,要寫個bat腳本,獲取所有的參數,再將所有的參數傳給Java,代碼如下:
allparam就是獲取到的所有參數字符串。
@echo off set java=.\jre1.8.0_102\bin\java.exe set jarpath=.\lib\xx.jar set allparam= :param set str=%1 if "%str%"=="" ( goto end ) set allparam=%allparam% %str% shift /0 goto param :end if "%allparam%"=="" ( goto eof ) rem remove left right blank :intercept_left if "%allparam:~0,1%"==" " set "allparam=%allparam:~1%"&goto intercept_left :intercept_right if "%allparam:~-1%"==" " set "allparam=%allparam:~0,-1%"&goto intercept_right :eof %java% -jar %jarpath% %allparam% pause