没有什么技术含量,如有不对请荐谅- @echo off&setlocal enabledelayedexpansion
- set n=0
- title 把特定文件插入特定文件指定行后 by 枫中残雪
- color 1a
- rem 与以前发的本质上没有什么区别,只不过没想到会是这样的结果,另外请看好要操作的文件
- rem 为了能更好的进行操作,本人并没有只提取行数。在显示出行数,你还可以与目标进行比对,看是否是自已想要的。
- echo.在操作之前请先阅读以下内容,可能会对你有些帮助。本人并不是专业人事如有错误,请荐谅。谢谢
- echo 1 ":"号前面的为行数
- echo 2 支持空行不会被删除,支持空行查找(此时不需要开启“用打印完全匹配的行”,但一定要输入一个空格,一个即可,多则无效)
- echo 3 行首为":"时可能不会被处理
- echo 4 "请输入标识的内容:"支持空格的输入(无论是否开启5,所以请看好再使用)
- echo 5 "请选择是否起用打印完全匹配的行",x(小写)为是,其它的都视为否
- echo 6 "在请指定要操作的行数"时,即使“不是想要的输入”在此"也许"也是有效的
- echo 7 本文并没有为退出而特别制做按键(得用第三方命令),想中途退出请点右上面的关闭
- set /p str=请选择是否起用打印完全匹配的行:
- if not "%str%" equ "x" (set "str="&&echo 您选择了不启用“用打印完全匹配的行”) else echo 您已成功开启“用打印完全匹配的行”。之后请进行下一步操作
- set /p a=请输入标识的内容:
- findstr /n%str%ic:"%a%" b.txt
- echo 从以上的观察应该找到其行数了吧!!!!
- set /p n=请指定要操作的行数:
- echo 正在操做中。请稍等……
- for /f "delims=" %%i in (b.txt) do (set /a c+=1
- if !c! equ %n% (echo.%%i>>输出文件.txt&&(for /f "delims=" %%a in (a.txt) do echo.%%a )>>输出文件.txt) else echo.%%i >>输出文件.txt
- )
- (for /l %%i in (0 10 800) do set /p=_%%i<nul&ping /n 127.1 >nul)&set /p=100%%<nul
- echo/
- pause
复制代码
|