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

评分人数

TOP

回复 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
复制代码

TOP

返回列表