String 在批处理中用递增的值替换字符串
首先,我是新的编码,希望你能在这里找到一些帮助 我正在尝试制作一个批处理脚本来解决一个简单的问题 我想给脚本一个参数,它在单词的任何地方都包含一个通配符,脚本检测到它并用for循环给出的增量值替换它 这是我到目前为止所拥有的,但问题是还没有增量结果String 在批处理中用递增的值替换字符串,string,batch-file,search,replace,String,Batch File,Search,Replace,首先,我是新的编码,希望你能在这里找到一些帮助 我正在尝试制作一个批处理脚本来解决一个简单的问题 我想给脚本一个参数,它在单词的任何地方都包含一个通配符,脚本检测到它并用for循环给出的增量值替换它 这是我到目前为止所拥有的,但问题是还没有增量结果 @echo off setlocal enabledelayedexpansion set SEARCHTEXT=? set string=%1 for /l %%x in (1, 1, 5) do ( set REPLACETEXT=%%
@echo off
setlocal enabledelayedexpansion
set SEARCHTEXT=?
set string=%1
for /l %%x in (1, 1, 5) do (
set REPLACETEXT=%%x
call set string=%%string:!SEARCHTEXT!=!REPLACETEXT!%%
echo !string!
)
:end
举例来说,如果我将其保存为“example.bat”并运行,这就是我得到的结果
> example.bat num?
结果是
num1
num1
num1
num1
num1
但这应该是
num1
num2
num3
num4
num5
您能帮我吗?您正在覆盖
字符串,它会丢失?
将结果放入新变量中
for/l%%x in(1,1,5)do(
设置“string2=!string:%SEARCHTEXT%%=%%x!”
回声!弦2!
)
每次重新初始化字符串
也可以:
@echo关闭
延迟扩展
设置SEARCHTEXT=?
对于/l%%x英寸(1,1,5)do(
设置“字符串=%1”
设置字符串=!字符串:%SEARCHTEXT%=%%%x!
回声!弦!
)
对于(1,1,5)中的/l%%x,执行回显!字符串:%SEARCHTEXT%=%%%x代码>