2011-04-27 72 views

回答

7

最簡單也許是最可靠的方法wo只是使用cmd自己的參數解析和shift,然後直到沒有更多。

因爲這破壞了使用%1等,你可以做一個子程序:

@echo off 
call :lastarg %* 
echo Last argument: %LAST_ARG% 
goto :eof 

:lastarg 
    set "LAST_ARG=%~1" 
    shift 
    if not "%~1"=="" goto lastarg 
goto :eof 
8

這將讓參數的計數:

set count=0 
for %%a in (%*) do set /a count+=1 

獲得實際的最後一個參數,你可以做

for %%a in (%*) do set last=%%a 

注意,如果在命令行中有不平衡報價,這將失敗 - 命令行被for重新解析,而不是直接使用用於%1等的解析。

+1

你爲什麼用參數計數來回答?那不是被問到的。 – Joey 2011-04-27 16:09:59

相關問題