标题: [文本处理] [已解决]批处理如何删除txt文本里含有特定字符串的最后几行里的该特定字符串 [打印本页]
作者: wwddhmh 时间: 2014-8-1 01:54 标题: [已解决]批处理如何删除txt文本里含有特定字符串的最后几行里的该特定字符串
本帖最后由 pcl_test 于 2016-7-18 19:32 编辑
只要BAT。其他模块的不需要
如题:我的指定路径下的txt文本 D:\test\记录.txt 内容如下
黄小明-1号-通过
戴小军-2号-通过
胡志明-3号-通过
李小燕-4号-通过
杜明-5号-通过
黄东明-6号-通过
李红-7号-通过
谢立鸿-8号-
黄东明-9号-
习志-10号-
胡淘-11号-
李小萧-12号-
当然文本不只这几行,下面还有无数行就不一一例举,我想通过BAT,实现从后往上,去除指定数量的“通过”。意思就是说,我想去除3个通过,就是把5号,6号,7号,后面的“通过”去除,重要提示下,,后面那些,8 9 10 11 12 号后面是不带通过的,请不要看错。还有一点,就是消除的数量,望大师写的时候能详细点告诉我
作者: CrLf 时间: 2014-8-1 15:44
本帖最后由 CrLf 于 2014-8-1 17:55 编辑
- @echo off&setlocal enabledelayedexpansion
- set "file=D:\test\记录.txt"
- %1 %0 :|sort /+65535 /o "!file!"&pause&exit
-
- for /f "delims=" %%a in ('sort /+65535 "!file!"') do (
- set "str=%%a"
- if "!str:通过=!" neq "!str!" (
- if !count! lss 3 set str=!str:通过=!
- set /a "count+=1"
- )
- echo !str!
- )
复制代码
作者: wwddhmh 时间: 2014-8-1 17:18
回复 2# CrLf
请问如果是下面这样该如何弄
黄小明-1号a通过
戴小军-2号b通过
胡志明-3号c通过
李小燕-4号d通过
杜明-5号-e通过
黄东明-6号-f通过
李红-7号-g通过
谢立鸿-8号-h
黄东明-9号-i
习志-10号-j
胡淘-11号-k
李小萧-12号-k
作者: CrLf 时间: 2014-8-1 17:51
回复 3# wwddhmh
已修改,以后求助时最好描述完整一点,避免返工
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |