批处理中的多种注释方法
:: ArgParse.bat - Parser of command line arguments
:: Will Sort - 2005-11-26 - WinXP_CMD/MSDOS7.10/MSDOS6.22
@echo off
:Init
for %%e in (directory_i directory_o filter_f filter_v log) do set%%e=
:ParseLoop
if '%1'=='' goto Start
for %%s in (i I f F v V l L o O) do if '%1'=='/%%s' gotoSwitch%%s
echo Error: Invalid switch '%1'!
goto Quit
:SwitchI
if '%directory_i%'=='' set directory_i=%2
goto NextArg
:SwitchO
if '%directory_o%'=='' set directory_o=%2
goto NextArg
:SwitchF
if '%filter_f%'=='' set filter_f=%2
goto NextArg
:SwitchV
if '%filter_v%'=='' set filter_v=%2
goto NextArg
:SwitchL
if '%log%'=='' set log=%2
goto NextArg
:NextArg
shift
shift
goto ParseLoop
:Start
echo.directory_i %directory_i%
echo.directory_o %directory_o%
echo.filter_f %filter_f%
echo.filter_v %filter_v%
echo.log %log%
:Quit
for %%e in (directory_i directory_o filter_f filter_v log) do set%%e=