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 关注
- 1448 浏览
添加回答
举报
0/150
提交
取消