Batch : Checking the number of parameters

后端 未结 3 1876
名媛妹妹
名媛妹妹 2021-02-18 22:55

I\'d like to make sure that when calling my batch, no more than 2 parameters are passed.

Is there an easy way to check that, or do I have to call SHIFT as many times as

3条回答
  •  天涯浪人
    2021-02-18 23:49

    You can simply test for existence of a third parameter and cancel if present:

    if not "%~3"=="" (
        echo No more than two arguments, please
        goto :eof
    )
    

    But more specifically, there is no direct way of getting the number of arguments passed to a batch, short of shifting and counting them. So if you want to make sure that no more than 19 arguments are passed, then you need to do exactly that. But if the number of expected arguments is below 9 above method works well.

提交回复
热议问题