2011-04-27 8 views

risposta

7

Il modo più semplice e forse più affidabile wo Dovrebbe essere sufficiente usare l'analisi di cmd per gli argomenti e shift finché non ci sono più.

Dal momento che questo distrugge l'uso di %1, ecc Si può farlo in una subroutine:

@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

In questo modo ottenere il conteggio di argomenti:

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

Per ottenere l'ultimo argomento attuale, si può fare

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

Si noti che questo fallirà se la riga di comando ha virgolette sbilanciate - il la riga di comando viene nuovamente analizzata da for anziché utilizzare direttamente l'analisi utilizzata per %1 ecc.

+1

Perché hai risposto con il conteggio argomento? Non è stato quello che è stato chiesto. – Joey

Problemi correlati