标题: [文本处理] 【已解决】BAT脚本如何批量删除多个文件中指定开头内容的行? [打印本页]
作者: 滴血雄鹰 时间: 2019-1-20 17:21 标题: 【已解决】BAT脚本如何批量删除多个文件中指定开头内容的行?
本帖最后由 滴血雄鹰 于 2019-1-21 10:35 编辑
如何批量删除文件夹中多个文件中指定开头内容的行?
我想在文件夹111中多个TXT文件中,删除指定内容为“=========”和“更多精彩尽在”的行?
下面是一个文件夹中一个文件中指定开头内容删除代码:- @echo off
- findstr /v /b "目标开头内容" C:\111\1.txt>2.txt
- del C:\111\1.txt
- ren C:\111\2.txt C:\111\1.txt
复制代码
作者: smss 时间: 2019-1-20 18:30
使用notepad++很方便
作者: yhcfsr 时间: 2019-1-20 18:31
- @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
- )
复制代码
作者: Batcher 时间: 2019-1-20 19:59
- @echo off
- for /f "delims=" %%a in ('dir /a-d /b /s *.txt') do (
- findstr /ri /b /v "========= 更多精彩尽在" "%%a" > "%%~nxa.tmp"
- )
- ren "*.tmp" "*.txt"
复制代码
作者: 滴血雄鹰 时间: 2019-1-21 08:32
回复 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
作者: 滴血雄鹰 时间: 2019-1-21 08:37
回复 4# Batcher
我用了你的代码,其他TXT都能删除,就是下面的文件只删除部分,不知道什么原因?
https://pan.baidu.com/s/14jL45IEvguuyybHM6LFgwg
会多增加一个TXT文件。
作者: yhcfsr 时间: 2019-1-21 11:03
回复 5# 滴血雄鹰
这个文件是UTF8编码的,自己转为ANSI即可
作者: 滴血雄鹰 时间: 2019-1-21 12:56
回复 7# yhcfsr
谢谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |