批处理如何将指定文本的某一行复制替换它的另一行的内容?

例如将a.TXT 中的第3行复制替换第10行内容? 请高手解答,谢谢

@echo off
setlocal enabledelayedexpansion
set SrcFile=a.txt

set LineI=0
for /f "delims=" %%i in (%SrcFile%) do (
set /a LineI=LineI+1
if 3 EQU !LineI! set Line3=%%i
if 10 EQU !LINEI! (
echo !Line3!
) else (
echo %%i
)
)>>temp.txt
del %SrcFile%
ren temp.txt %SrcFile%

====================
这个代码不会把空行当成一行,即会跳过空行追问

谢谢,保存了运行,结果a.txt 被删除,还是不行啊,麻烦你改一改,拜托了!

追答

不好意思.
是删除太快了,就改名.
你试一下
ren temp.txt %SrcFile%
前面加一句
ping 127.0.0.1 -n 2 >nul

追问

还是一样呢,是不是temp.txt没输出成功?

追答

你自己打开temp.txt看看有没有内容.
我这里没有问题.

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜