Windows Bat文件可選參數解析我需要我的bat文件接受多個可選的命名參數。mycmd.bat man1 man2 -username alice -otheroption例如,我的命令有2個必需參數,以及兩個參數值為alice的可選參數(-username)和-otheroption:我希望能夠將這些值插入變量中。只是給那些已經解決了這個問題的人打電話。男人這些蝙蝠文件很痛苦。
3 回答

繁花不似錦
TA貢獻1851條經驗 獲得超4個贊
雖然我傾向于同意@AlekDavis的評論,但在NT shell中仍有幾種方法可以做到這一點。
我將利用SHIFT命令和IF條件分支的方法,這樣的......
@ECHO OFFSET man1=%1SET man2=%2SHIFT & SHIFT:loopIF NOT "%1"=="" ( IF "%1"=="-username" ( SET user=%2 SHIFT ) IF "%1"=="-otheroption" ( SET other=%2 SHIFT ) SHIFT GOTO :loop)ECHO Man1 = %man1%ECHO Man2 = %man2%ECHO Username = %user%ECHO Other option = %other%REM ...do stuff here...:theend

翻翻過去那場雪
TA貢獻2065條經驗 獲得超14個贊
如果你想使用可選參數,而不是命名參數,那么這種方法對我有用。我認為這是更容易遵循的代碼。
REM Get argument values. If not specified, use default values.
IF "%1"=="" ( SET "DatabaseServer=localhost" ) ELSE ( SET "DatabaseServer=%1" )
IF "%2"=="" ( SET "DatabaseName=MyDatabase" ) ELSE ( SET "DatabaseName=%2" )
REM Do work
ECHO Database Server = %DatabaseServer%
ECHO Database Name = %DatabaseName%
- 3 回答
- 0 關注
- 1498 瀏覽
添加回答
舉報
0/150
提交
取消