Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在批处理中用递增的值替换字符串_String_Batch File_Search_Replace - Fatal编程技术网

String 在批处理中用递增的值替换字符串

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=%%

首先,我是新的编码,希望你能在这里找到一些帮助

我正在尝试制作一个批处理脚本来解决一个简单的问题

我想给脚本一个参数,它在单词的任何地方都包含一个通配符,脚本检测到它并用for循环给出的增量值替换它

这是我到目前为止所拥有的,但问题是还没有增量结果

@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