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

[文本处理] 【已解决】BAT脚本如何批量删除多个文件中指定开头内容的行?

本帖最后由 滴血雄鹰 于 2019-1-21 10:35 编辑

如何批量删除文件夹中多个文件中指定开头内容的行?
我想在文件夹111中多个TXT文件中,删除指定内容为“=========”和“更多精彩尽在”的行?


下面是一个文件夹中一个文件中指定开头内容删除代码:
  1. @echo off
  2. findstr /v /b "目标开头内容" C:\111\1.txt>2.txt
  3. del C:\111\1.txt
  4. ren C:\111\2.txt C:\111\1.txt
复制代码

使用notepad++很方便

TOP

  1. @echo off
  2. for /f "delims=" %%a in ('dir/a-d/s/b *.txt') do (
  3. findstr /ri /b /v "========= 更多精彩尽在" "%%a">"%%a.tmp"
  4. move "%%a.tmp" "%%a">nul
  5. )
复制代码
1

评分人数

    • 滴血雄鹰: 已基本解决,如果将5楼的问题解决的话,就更 ...技术 + 1
QQ 33892006

TOP

  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d /b /s *.txt') do (
  3.     findstr /ri /b /v "========= 更多精彩尽在" "%%a" > "%%~nxa.tmp"
  4. )
  5. ren "*.tmp" "*.txt"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# yhcfsr


@echo off

for /f "delims=" %%a in ('dir/a-d/s/b *.txt') do (
        findstr /ri /b /v "=============================" "%%a">"%%a.tmp"
        move "%%a.tmp" "%%a">nul
        findstr /ri /b /v "更多精校小说尽在知轩藏书下载" "%%a">"%%a.tmp"
        move "%%a.tmp" "%%a">nul
)

我用了上面的代码,其他TXT都能删除,就是下面的文件只删除部分,不知道什么原因?

https://pan.baidu.com/s/14jL45IEvguuyybHM6LFgwg

TOP

回复 4# Batcher


我用了你的代码,其他TXT都能删除,就是下面的文件只删除部分,不知道什么原因?

https://pan.baidu.com/s/14jL45IEvguuyybHM6LFgwg

会多增加一个TXT文件。

TOP

回复 5# 滴血雄鹰

这个文件是UTF8编码的,自己转为ANSI即可
QQ 33892006

TOP

回复 7# yhcfsr


  谢谢!

TOP

返回列表