用批处理删除txt中指定的行和替换指定的行,以及添加指定的行

用批处理删除txt中指定的行和替换指定的行,以及添加指定的行_第1张图片

在上面的op3.txt中,删除红色框框所在的行,替换绿色框框所在的行,在ENDSEC后添加两行(如紫色框所示)。

即删除第7行到第12行,以及第21行到第22行,

  替换第15行的100<———>62

  替换第16行的AcDbEntity<---->1

添加0

添加EOF

-------------------------------------------------------------------------------------------------------------------------------------------------

批处理代码如下:

@echo off 
setlocal enabledelayedexpansion 
set ctr=0 
for /f "delims= tokens=* eol=" %%a in (op3c.txt) do ( 
 set c=%%a 
 set /a ctr=ctr+1 
 if !ctr! leq 12 ( 
  rem 第1行到第6行不变
   for /l %%b in (1,1,6) do ( 
   if !ctr!==%%b echo !c!>>op3n.txt 
   ) 
  rem 第7行到第12行跳过(即删除)
   for /l %%b in (7,1,12) do ( 
   if !ctr!==%%b break 
   ) 
 ) else ( 
 break 
 ) 
 if !ctr! gtr 12 ( 
  rem 第13行到第14行不变
  for /l %%b in (13,1,14) do ( 
   if !ctr!==%%b echo !c!>>op3n.txt 
  ) 
  rem 第15行输入62,第16行输入1
   if !ctr!==15 echo ^6^2>>op3n.txt 
   if !ctr!==16 echo ^1>>op3n.txt 
  rem 第17行到第20行不变
  for /l %%b in (17,1,20) do ( 
   if !ctr!==%%b echo !c!>>op3n.txt 
  ) 
  rem 第23行到第26行不变
  for /l %%b in (23,1,26) do ( 
   if !ctr!==%%b echo !c!>>op3n.txt 
  ) 
 ) else ( 
  break 
 ) 
) 
:final 
 rem 末尾两行,输入0和EOF
echo   ^0>>op3n.txt 
echo  EOF>>op3n.txt  


结果如下:

用批处理删除txt中指定的行和替换指定的行,以及添加指定的行_第2张图片

 

你可能感兴趣的:(C++,电脑,bat,Windows,脚本,批处理,bat)