为了账号安全,请及时绑定邮箱和手机立即绑定

Windows Bat文件可选参数解析

Windows Bat文件可选参数解析

慕侠2389804 2019-08-02 14:12:57
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


查看完整回答
反对 回复 2019-08-02
?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

如果你想使用可选参数,而不是命名参数,那么这种方法对我有用。我认为这是更容易遵循的代码。


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%


查看完整回答
反对 回复 2019-08-02
  • 3 回答
  • 0 关注
  • 1374 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信