gpt4 book ai didi

windows - 批处理脚本 (Windows) 字符串替换

转载 作者:可可西里 更新时间:2023-11-01 13:50:37 28 4
gpt4 key购买 nike

我知道如何在批处理脚本中进行文字字符串替换。但是,我有一个特定的情况需要替换数字变量的值

这是脚本:

setlocal enableextensions enabledelayedexpansion
set /A L=2
:L1
if %L% EQU 0 goto :EOF
set STRING="THIS IS # TEST"
SET NEW=%STRING:#=%%L%
echo %NEW%
set /A L=%L% - 1
goto L1

想要显示这个:

THIS IS 2 TEST
THIS IS 1 TEST

但它最终显示为:

THIS IS  TEST2
THIS IS TEST1

关于如何让它执行我需要的任何提示?

谢谢。

最佳答案

连aphoria和Bali C的解决方案都行,还是用吧

set "NEW=!STRING:#=%L%!"

届时替换将在延迟扩展阶段完成,而不是在百分比扩展阶段完成。

这也适用于 STRING

中的感叹号和插入符
@echo off

set L=2
set "String=This is # test!"
setlocal EnableDelayedExpansion
set "NEW=!STRING:#=%L%!"
echo !NEW!

关于windows - 批处理脚本 (Windows) 字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14198136/

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