[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎样删除指定行?

大家好,我是批处理小白
我现在想用.bat文件删除一个文件(.tap)中的5,6,7行和n-2,n-1,n行(文件一共n行,n是变量,不一定是多少),并将文件改成.ibl格式保存。

powershell
  1. $arr = [System.Collections.ArrayList](gc 1.tap)
  2. $arr.RemoveRange(4,3);$arr.RemoveRange(($arr.Count-2),2)
  3. Out-File -FilePath 1.ibl -InputObject $arr
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

回复 1# myz8309


用sed  命里命令的 d参数删除行

TOP

回复 1# myz8309

其实这个活用python或者高级语言做也是挺容易的。
逐步读入行,写入一个新文件就是文件拷贝。
这里加上行号的条件判断就可以了。

批处理也是可以逐行读入的,不过批处理怎么判断行号的,我也不怎么会了。

TOP

回复 2# ivor


    大神,首先非常感谢您的回复,我是个bat的小白,因为用别的画图软件,然后想批处理一下输出的文件,才想到用bat。

但是我得到的结果是图示这样,烦请大神指教。

TOP

回复 4# netdzb


    findstr /N

TOP

回复 5# myz8309


2楼是PowerShell代码,执行方法如下:
http://bbs.bathome.net/thread-31071-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表