将每行中的匹配字符串替换为另一个字符串

时间:2020-05-07 12:25:49

标签: batch-file

我正在尝试将给定文件每一行末尾的数字替换为递增的数字(+1)。

我的输入文件看起来像

C:\ documents \ a.txt,1988,15.01.00.0059

C:\ documents \ we.txt,1988,15.01.00.0059

C:\ documents \ gh.txt,1987,1988,15.01.00.0059

我的输出文件应该是

C:\ documents \ a.txt,1988,15.01.00.0060

C:\ documents \ we.txt,1988,15.01.00.0060

C:\ documents \ gh.txt,1988,15.01.00.0060

我的尝试就像

@echo off 
setlocal enableextensions disabledelayedexpansion

set "search="

for /F "tokens=1-3 delims=," %%i in (%1) do (
@echo %%i %%j %%k
set "search=%%k"
)

set "replace="
REM @echo %replace%

set "textFile=%1"

for /f "delims=" %%i in ('type "%textFile%" ^& break ^> "%textFile%" ') do (
    set "line=%%i"
    setlocal enabledelayedexpansion
    >>"%textFile%" echo(!line:%search%=%replace%!
    endlocal
)

我可以从输入文件中获取15.01.00.0059,但不知道如何更改为15.01.00.0060。

替换为相同的输入文件也是可以的。我只需要知道如何增加值并分配给“替换”即可。

谢谢

Bhargav.k

0 个答案:

没有答案