2011-04-27 8 views

답변

7

가장 쉽고 가장 신뢰할 수있는 방법은 다음과 같습니다. uld는 단지 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 

참고를 할 수 - 명령 줄은 %1 등의 구문 분석을 직접 사용하는 대신 for으로 다시 구문 분석됩니다.

+1

왜 인수 카운트로 대답 했습니까? 그건 물어 본 것이 아니 었습니다. – Joey