gpt4 book ai didi

windows - 如何在 Windows 批处理脚本中获取可选的命令行参数值作为字符串?

转载 作者:可可西里 更新时间:2023-11-01 14:43:27 34 4
gpt4 key购买 nike

给定一个可选的端口参数,其中端口号的长度可以变化,我如何从批处理脚本的命令行参数中获取端口号?

例子:

foo.bat --foo bar --port 80 --bar foo

应该输出:

80

我走到这一步,尝试使用子字符串。

set CMD_LINE_ARGS=%*
@rem Remove all chars and port arg
set PORT_ARG_REMOVED=%CMD_LINE_ARGS:*-port =%
@rem Obviously, this is where I fail to remove trailing chars
set PORT_NUM=%PORT_ARG_REMOVED: *=%
echo %PORT_NUM%

编辑

我选择的答案是因为它符合我非常特殊的用例,其中所有参数都被传递到我包装的命令。而且,我只需要特定可选参数的值。无需循环。

这里有一些非常好的答案,用于处理一般的可选参数解析。因此,请随时为每个人投票。

最佳答案

鉴于您“真的很想看到子字符串起作用”,这里是按照您的预期结构化和编码的脚本。

@Set "CMD_LINE_ARGS=%*"
@Rem Remove all chars and port arg
@Set "PORT_ARG_REMOVED=%CMD_LINE_ARGS:*-port =%"
@Rem Remove trailing chars
@Set "PORT_NUM=%PORT_ARG_REMOVED: ="&:"%"
@Echo %PORT_NUM%
@Pause

关于windows - 如何在 Windows 批处理脚本中获取可选的命令行参数值作为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49543968/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com