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

[文本处理] 请问批处理命令findstr查询到某行删除

[复制链接]
发表于 2018-11-2 19:47:59 | 显示全部楼层 |阅读模式
各位好,又有个问题请教下,如果是将txt中查询到某行删除,没有扩展名没问题,但如果是有扩展名比如exe,就做不了.请指教!
  1. findstr /v "%pa%" %dp%\Dell.txt>%dp%\#&move %dp%\# %dp%\Dell.txt
复制代码
  1. "F:\Downloads\FileRecycle.exe"
  2. "F:\Downloads\maytools"
复制代码
发表于 2018-11-2 20:41:08 | 显示全部楼层
能否详细说说什么是“有扩展名就做不了”?
 楼主| 发表于 2018-11-2 21:11:53 | 显示全部楼层
本帖最后由 yunyan100 于 2018-11-2 21:15 编辑

回复 2# Batcher

首先感谢,就是Dell.txt中查找有没有变量(就是文本),如果查找到就删除Dell.txt中的一行,其他不变.
  1. "F:\Downloads\FileRecycle"
复制代码
可删除
  1. "F:\Downloads\FileRecycle.exe"
复制代码
删除不了
发表于 2018-11-2 21:14:52 | 显示全部楼层
不是扩展名的问题,findstr默认正则匹配,路径中的\被解析成转义符,点号(.)被解析成通用匹配字符(代表任意单个字符).
改用下列命令试试:
  1. findstr /v /c:"%pa%" %dp%\Dell.txt>%dp%\#&move %dp%\# %dp%\Dell.txt
  2. findstr /v /l "%pa%" %dp%\Dell.txt>%dp%\#&move %dp%\# %dp%\Dell.txt
  3. find /v "%pa%" %dp%\Dell.txt>%dp%\#&move %dp%\# %dp%\Dell.txt
复制代码
 楼主| 发表于 2018-11-2 21:34:14 | 显示全部楼层
回复 4# yhcfsr

如何检查的中文件夹路径,就全没了,还显示不需好的,如何是文件一次删除一个,但显示的多余的
 楼主| 发表于 2018-11-2 21:47:36 | 显示全部楼层
回复 4# yhcfsr
  1. findstr /v /c:"%pa%" %dp%\Dell.txt>%dp%\#&move %dp%\# %dp%\Dell.txt
复制代码
可用这句基本不显示多余的,也可删除行exe,但文件夹就全删除了
发表于 2018-11-2 22:01:44 | 显示全部楼层
本帖最后由 yhcfsr 于 2018-11-2 22:03 编辑

回复 6# yunyan100
  1. findstr /v /c:""%pa%"" %dp%\Dell.txt>%dp%\#&move %dp%\# %dp%\Dell.txt
复制代码
显示多余的,应该是用了find命令吧,不想要多余的话,这样用:
  1. find /v "%pa%"<"文件路径"
复制代码
没有样本,只有你一个一个试了,看哪个行
下次发贴,最好发个具有代表性的样本,最好的办法是加论坛QQ群,比在这问快速直接.

评分

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

查看全部评分

 楼主| 发表于 2018-11-2 22:08:27 | 显示全部楼层
回复 7# yhcfsr


上面一条完美达到,谢谢
 楼主| 发表于 2018-11-2 22:19:55 | 显示全部楼层
回复 8# yunyan100
谢谢你的提醒
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 20:52 , Processed in 0.019548 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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