批处理程序:删除以 'tls:' 或 'https:' 开头的第二个参数并合并剩余参数
下面是一个示例的批处理程序,用于检查第二个参数是否以 '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 著作权归作者所有。请勿转载和采集!