找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 34764|回复: 9

[代码合集] [已解决]批处理如何批量删除指定行和倒数行

[复制链接]
发表于 2014-3-5 17:05:07 | 显示全部楼层 |阅读模式
本帖最后由 xp3000 于 2014-3-7 07:48 编辑

文件夹内有大量的TXT,如何批量删除指定行和倒数行?
在文件夹里面建立个批处理。
删除指定行要一个,只需要删除特定的行,
删除倒数行也要一个,需要删除多行,比如删除倒数1-5行。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-3-5 17:19:28 | 显示全部楼层
  1. @echo off
  2. REM 设置删除第几行
  3. set n=1
  4. sed -i "%n%d" *.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2014-3-6 10:34:27 | 显示全部楼层
  1. @set @n=0;//&dir /b *.txt|cscript -nologo -e:jscript "%~0"&pause&exit/b
  2. a = 1; b = 5; //从倒数第1行到倒数第5行
  3. x = b-a+1; y = a-1; //x=删除行数,y=结尾剩余行数
  4. fso = new ActiveXObject("Scripting.FileSystemObject");
  5. re = new RegExp('^([\\s\\S]*?)(.*\\n){'+x+'}((.*\\n){'+y+'})$','');
  6. while (!WSH.StdIn.AtEndOfStream) {
  7.     f = WSH.StdIn.ReadLine();
  8.     txt = fso.OpenTextFile(f,1).ReadAll();
  9.     if (txt.substr(txt.length-2) != '\r\n') txt += '\r\n'
  10.     txt = txt.replace(re, '$1$3');
  11.     fso.OpenTextFile(f,2).Write(txt);
  12. }
复制代码

评分

参与人数 1技术 +1 收起 理由
xp3000 + 1 好用

查看全部评分

发表于 2014-3-6 15:25:02 | 显示全部楼层
可以批量删除指定行的怎么弄?
需要运行后出现窗口,然后自己键盘输入指定行数字,回车后运行
发表于 2014-3-6 21:47:47 | 显示全部楼层
回复 4# xp3000


    2楼代码你试过没有?
不想用sed的话,试试纯批:
  1. @echo off
  2. set /p Input=输入指定行:
  3. for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
  4.     set "n="
  5.     (for /f "usebackq delims=" %%b in ("%%a") do (
  6.         set /a "n+=1,1/(n-Input)" 2>nul && echo,%%b
  7.     ))>$
  8.     move $ "%%a"
  9. )
  10. pause
复制代码
发表于 2014-3-7 07:47:25 | 显示全部楼层
回复 5# apang


    2楼那个没成功,这个可以
发表于 2014-3-7 08:42:17 | 显示全部楼层
回复 6# xp3000


你没有sed.exe的话,可以在这里下载:
http://code.google.com/p/gnu-on-windows/downloads/list
发表于 2014-3-7 16:13:45 | 显示全部楼层
回复 7# DAIC


    谢谢,现在知道了
 楼主| 发表于 2017-7-24 10:48:50 | 显示全部楼层

求助

本帖最后由 pcl_test 于 2017-7-24 11:35 编辑

回复 3# apang

怎么添加指定文件路径 比如 D:\AXX\11.txt
发表于 2017-7-24 11:09:58 | 显示全部楼层
把 *.txt 改成 D:\AXX\11.txt 可以吗?
另外这个代码是要实现什么功能?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 21:29 , Processed in 0.019947 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表