如何用批处理bat替换文本指定位置内容?
假设以下为1.txt的内容,要将第6行第4个字符(含)开始后面全部的内容(字符数目不确定,会变动),替换为2.txt的内容(字符数目不确定,会变动),如何用批处理实现?1...
假设以下为1.txt的内容,要将第6行第4个字符(含)开始后面全部的内容(字符数目不确定,会变动),替换为2.txt的内容(字符数目不确定,会变动),如何用批处理实现?
1234567890
9876543210
abcdefg
gfedcba
784512
aaa565456123178979 展开
1234567890
9876543210
abcdefg
gfedcba
784512
aaa565456123178979 展开
1个回答
展开全部
@echo off & setlocal enabledelayedexpansion
cd .>#
for /f "tokens=1* delims=" %%a in ('findstr/n .* 1.txt') do (
if %%a equ 6 (
set "line=%%a"
echo !line:~0,3! >>#
goto :next
)
else echo.%%a >>#
)
:next
type 2.txt >>#
move # 1.txt
更多追问追答
追问
经测试,这段代码可以替换到1.txt,但是原本1.txt所有的内容都没了,有没有只替换第6行的第4个字符(含)后面的字符的方法?
追答
@echo off & setlocal enabledelayedexpansion
cd .>#
for /f "tokens=1* delims=:" %%a in ('findstr/n .* 1.txt') do (
if %%a equ 6 (
set "line=%%b"
echo !line:~0,3! >>#
goto :next
) else echo.%%b >>#
)
:next
type 2.txt >>#
move # 1.txt
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询