下面是一个示例的批处理程序,用于检查第二个参数是否以 'tls:' 或 'https:' 开头,并相应地处理参数表:

@echo off
setlocal enabledelayedexpansion

set "args=%*" 
set "tlsPrefix=tls:"
set "httpsPrefix=https:"

rem 检查第二个参数是否以 'tls:' 或 'https:' 开头
for %%i in (%args%) do (
    if "%%i"=="%tlsPrefix%" (
        set "args=!args:%%i=!"
        goto :merge_params
    ) else if "%%i"=="%httpsPrefix%" (
        set "args=!args:%%i=!"
        goto :merge_params
    )
)

goto :end

:merge_params
set "params="
set "merge=0"

rem 合并第二个参数之后的参数到一个变量
for %%i in (%args%) do (
    if "!merge!"=="1" (
        set "params=!params! %%i"
    ) else if "%%i"=="%tlsPrefix%" (
        set "merge=1"
    ) else if "%%i"=="%httpsPrefix%" (
        set "merge=1"
    )
)

echo Merged params: %params%
goto :end

:end

这个批处理程序首先将命令行参数存储在 args 变量中。然后,它遍历参数列表以检查第二个参数是否以 'tls:' 或 'https:' 开头。如果是,则将其从 args 中删除,并设置一个标志 merge 来指示接下来的参数需要合并到一个变量 params 中。

最后,程序输出合并后的参数列表。

请注意,此批处理程序仅处理第二个参数,并将其之后的参数合并到一个变量中。如果需要处理更多参数,可以根据需要进行扩展。


原文地址: https://www.cveoy.top/t/topic/pkYS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录