Quello che ho avuto è stato il seguente. Io tendo a più di fare le cose, ho pensato di condividere ...
Nella parte superiore del mio file batch ho il seguente codice ...
Usage:
::--------------------------------------------------------
:: Handle parameters
::--------------------------------------------------------
CALL:ChkSwitch bOverwrite "/OVERWRITE" %*
CALL:ChkSwitch bMerge "/MERGED" %*
Poi alla il fondo (dove di solito metto tutte le mie funzioni) ...
Funzione:
::--------------------------------------------------------
:: ChkSwitch Function
::--------------------------------------------------------
:ChkSwitch <bRet> <sSwitch> <sParams> (
SETLOCAL EnableDelayedExpansion
SET "switched=0"
:ChkSwitchLoop
IF "%~3"=="" GOTO ChkSwitchDone
IF %~3==%~2 (
SET "switched=1"
GOTO ChkSwitchDone
)
SHIFT /3
GOTO ChkSwitchLoop
:ChkSwitchDone
)
(
ENDLOCAL
SET "%~1=%switched%"
EXIT /B
)
Per utilizzare questo è semplice. Basta chiamare la funzione che passa in una variabile che si desidera modificare OPPURE creare piuttosto che passare il passaggio che si sta cercando e infine passare tutti i parametri dallo script.
fonte
2015-01-15 18:46:58