小编Sau*_*abh的帖子

用于解析包含逗号分隔值的命令行输入的批处理文件

我正在使用一个命令行实用程序,它将一组输入参数作为命令.然后根据预定义的名称验证这些输入参数.以这种方式调用该实用程序:

runUtility.cmd -A -B x,y,z -C w

这里的参数是A,B和C(以 - 开头).现在验证规则如下:

  1. 参数的名称应与预定义的名称匹配,因此无法传递任何无效参数,例如-UVW

  2. 参数可能有也可能没有值.在上面的例子中,-A没有值,而-B有x,y,z和-C有w.

我编写了这段代码来验证输入:

:validate

set argument=%1
set argumentValue=%2


if "%argument%" == "-A" (   
    shift   
    goto validate
)

if "%argument%" == "-B" (
    if "%argumentValue%" == "" (
        echo Empty value for -B
        goto end
    )
    shift
    shift 
    goto validate       
)

if "%argument%" == "-C" (
    if "%argumentValue%" == "" (
        echo Empty value for -C
        goto end
    )
    shift
    shift  
    goto validate      
)

if %argument%" == "" (
        goto end …
Run Code Online (Sandbox Code Playgroud)

command-line batch-file command-line-arguments

3
推荐指数
1
解决办法
8736
查看次数