這個有點難以解釋,但我會盡我所能。在批處理文件中訪問未知數量的命令(參數)
我傳遞目錄的列表到一個批處理文件經由一個字符串數組,這是在Java中創建,然後通入用調用Runtime.getRuntime的.BAT()。EXEC(命令)。我遇到的麻煩是訪問命令數組,其大小可能因執行而異。例如,在一次運行期間,「命令」可能包含以下內容:
{「cmd.exe」,「/ C」,「Start」,「program.bat」,「stringA」,「stringB」,「 stringC「}
前四個元素用來調用該批處理文件,所以只有串A,B,和C被傳遞到批文件(program.bat)作爲參數。但是,在下一次運行中,「命令」可能如下所示:
{「cmd.exe」,「/ C」,「Start」,「program.bat」,「stringA」,「stringB」,「 stringC」,STRING天,stringE}
正如你可以看到,有兩個多個字符串添加到參數表。我的問題是這樣的:在我的批處理文件,我有這樣的:
::Get stringA (param 1)
set stringA=%1
::Get stringB (param 2)
set stringB=%2
::Get stringC (param 3)
set stringC=%3
這需要三個字符串參數(從最初的「命令」陣列),並設置爲任何數值將相應的參數傳遞局部變量。我想知道是否有辦法從批處理文件中確定參數的數量(例如,從第二個「commands」數組中),並相應地設置/創建適當數量的局部變量。我主要關注Java,所以批處理文件對我來說還是比較新的。任何建議都將非常感謝,因爲我一直試圖找出一段時間,我自己沒有成功。
你可能想看看['SHIFT'命令(http://ss64.com/nt/shift.html)。 –