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

[文本处理] 批处理如何删除txt文本中特定行末尾的指定字符串

[复制链接]
发表于 2016-12-7 13:54:15 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-12-10 12:51 编辑

各位大哥,请帮忙解决!  

在指定目录下查找全部“.txt”格式文件,删除文本中含有“G2003”的行末尾的-1、-2、-3、-4、-5、-6、-7、-8

评分

参与人数 1PB -3 收起 理由
pcl_test -3 勿随意删改原帖内容

查看全部评分

发表于 2016-12-7 14:44:18 | 显示全部楼层
我不是高手,所以只好路过
发表于 2016-12-7 20:52:00 | 显示全部楼层
本帖最后由 /zhqsystem/zhq 于 2016-12-8 00:46 编辑

回复 1# bat9527
  1. for /f "delims=" %%i in ('type "%~f1"')do (set "not="
  2. for /f "delims=/" %%j in ("%%i")do if /i "%%~nj"=="G2003" (
  3.   for /f "tokens=1,* delims=-" %%j in ("%%i")do (
  4.    for /l %%n in (1,1,8)do if "%%~nk"=="%%n" set "not=y"
  5.    if defined not (
  6.     echo,%%j
  7.    )else (
  8.     echo,%%i
  9.    )
  10.   )
  11. )
  12. )
复制代码

依据楼下PCL大神指点追加,都不需要变量延迟执行,注:如果变量超过占用内存极限用建立和判断临时文件方式进行
  1. for /l %%n in (1,1,8)do set "-%%n=y"
  2. for /f "delims=" %%i in ('type "%~f1"')do (
  3. for /f "delims=/" %%j in ("%%i")do if /i "%%~nj"=="G2003" (
  4.   for /f "tokens=1,* delims=-" %%j in ("%%i")do (
  5.    if defined -%%~nk (
  6.     echo,%%j
  7.    )else (
  8.     echo,%%i
  9.    )
  10.   )
  11. )
  12. )
复制代码
发表于 2016-12-7 22:44:09 | 显示全部楼层
回复 3# /zhqsystem/zhq

for /l %%a in (1 1 8) do set -%%a=1
可以先对-1、-2、-3、-4、-5、-6、-7、-8定义,然后只要判断每个文本中含有“G2003”的每一行的最后两位字符是否定义过进行字符串截取即可,这样就不必每次判断都让for先跑8次
发表于 2016-12-8 00:46:05 | 显示全部楼层
回复 4# pcl_test
PCL大神还在岗位坚守啊!
很少用变量方式,都快忘了,处理速度快了不少
发表于 2016-12-8 02:54:43 | 显示全部楼层
正则替换就一行啊。
发表于 2016-12-8 02:58:43 | 显示全部楼层
(G2003.+ )(.+)-[1-8]$
\1\2
发表于 2016-12-8 06:59:23 | 显示全部楼层
用正则秒杀一切算法,高效方便
 楼主| 发表于 2016-12-8 12:02:42 | 显示全部楼层
回复 3# /zhqsystem/zhq

    大神,怎样设定目录为在“D:\test\”下,全部“.txt”格式文件?

    我们的大神,完整代码是?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 06:21 , Processed in 0.020472 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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