命令行基础转义规则请参考 string.cmdline 文档说明。
解析时忽略索引为 0 的参数,解析 _CMDLINE 时应在前面补上空格避免忽略第一个参数。 所有非命名参数都会添加到返回参数表的数组成员。
-- 或 // 之后的参数都视为非命名参数。 命名参数解析规则如下: 1、参数名区分大小写
2、以斜杠或短横线开始的前导参数作为键名(键名移除一个或多个相同的前导字符,区分大小写),
如果前导参数包含等号,则以等号拆分为键值对,等号前后不应有空格,
否则检查下一参数如果没有相同的首字符则设为此键名对应的值,
如果一个前导参数没有指定值,则默认值为空字符串(逻辑值为 true)。
3、单个 - 开头的命名参数解析为短参数。
短参数可以用空格分隔参数值,也可以省略分隔符(等号不作为分隔符)。 可在第 2 个调用参数中指定一个 @option 选项表。
@option 的所有键名用于指定待解析的命令行参数名字。
@option 预定义的单字符或多字符名字可作为短参数名、长参数名使用。
@option 预定义的单字母参数名允许作为短参数名合并到一个参数段。 @option 中参数名对应的值可以为任何非 false 值。
如果 @option 表中定义的值是函数,则每次解析对应名称参数时都会回调该函数。
回调参数 @1 为解析得到的参数值,而回调参数 @2 为将要返回的解析结果(参数表)。 示例:参数解析规则
var argv = string.cmdline.argv2(` -a -deffff "c:\test.txt" "c:\test2.txt"`,{
m = true;
n = function(value,argv){
}
});
console.dump(argv)
解析命令行并返回参数表。
string.cmdline.argv 函数的增强版本。
命令行基础转义规则请参考 string.cmdline 文档说明。
解析时忽略索引为 0 的参数,解析 _CMDLINE 时应在前面补上空格避免忽略第一个参数
所有非命名参数都会添加到返回参数表的数组成员。
-- 或 // 之后的参数都视为非命名参数。
命名参数解析规则如下:
1、参数名区分大小写
2、以斜杠或短横线开始的前导参数作为键名(键名移除一个或多个相同的前导字符,区分大小写),
如果前导参数包含等号,则以等号拆分为键值对,等号前后不应有空格,
否则检查下一参数如果没有相同的首字符则设为此键名对应的值,
如果一个前导参数没有指定值,则默认值为空字符串(逻辑值为 true)。
3、单个 - 开头的命名参数解析为短参数。
短参数可以用空格分隔参数值,也可以省略分隔符(等号不作为分隔符)。
可在第 2 个调用参数中指定一个 @option 选项表。
@option 的所有键名用于指定待解析的命令行参数名字。
@option 预定义的单字符或多字符名字可作为短参数名、长参数名使用。
@option 预定义的单字母参数名允许作为短参数名合并到一个参数段。
@option 中参数名对应的值可以为任何非 false 值。
如果 @option 表中定义的值是函数,则每次解析对应名称参数时都会回调该函数。
回调参数 @1 为解析得到的参数值,而回调参数 @2 为将要返回的解析结果(参数表)。