批处理:用循环替换文件和文件名中的字符串

时间:2014-07-09 20:35:10

标签: batch-file replace

我有一个名称为

的文本文件
  

text_j1.txt

该文件包含多行,其中包含 j1 字符串。

我想将此文件用作输入,然后更改" j1 "带有1到500的循环的字符串,所以我会得到500个名为text_1.txt的文本文件到text_500.txt,并且每个文本文件中都包含所有相应的" j1"' s用相应的号码替换。

有没有办法创建批处理文件以快速自动执行此操作?我找到了替换文件或文件名中的stings的示例,但不是两者都替换了数字......

2 个答案:

答案 0 :(得分:0)

那样的东西?

for i in `seq 1 500`
do
    sed s/j1/$i/g < ext_j1.txt > ext_$i.txt
done

答案 1 :(得分:0)

试试这个:

@echo off

    setlocal enableDelayedExpansion

    set /a count=2

    :start

    for /f "tokens=*" %%a in ('type text_j1.txt') do (
            set out=%%a
            set out=!out:j1=j%count%!
            echo !out!>>text_j%count%.txt
    )

    set /a count+=1

    if %count% lss 500 goto :start

    exit /b