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

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

各位好,又有个问题请教下,如果是将txt中查询到某行删除,没有扩展名没问题,但如果是有扩展名比如exe,就做不了.请指教!
  1. findstr /v "%pa%" %dp%\Dell.txt>%dp%\#&move %dp%\# %dp%\Dell.txt
复制代码
  1. "F:\Downloads\FileRecycle.exe"
  2. "F:\Downloads\maytools"
复制代码

能否详细说说什么是“有扩展名就做不了”?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 yunyan100 于 2018-11-2 21:15 编辑

回复 2# Batcher

首先感谢,就是Dell.txt中查找有没有变量(就是文本),如果查找到就删除Dell.txt中的一行,其他不变.
  1. "F:\Downloads\FileRecycle"
复制代码
可删除
  1. "F:\Downloads\FileRecycle.exe"
复制代码
删除不了

TOP

不是扩展名的问题,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
复制代码
QQ 33892006

TOP

回复 4# yhcfsr

如何检查的中文件夹路径,就全没了,还显示不需好的,如何是文件一次删除一个,但显示的多余的

TOP

回复 4# yhcfsr
  1. findstr /v /c:"%pa%" %dp%\Dell.txt>%dp%\#&move %dp%\# %dp%\Dell.txt
复制代码
可用这句基本不显示多余的,也可删除行exe,但文件夹就全删除了

TOP

本帖最后由 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

评分人数

QQ 33892006

TOP

回复 7# yhcfsr


上面一条完美达到,谢谢

TOP

回复 8# yunyan100
谢谢你的提醒

TOP

返回列表