标题: [文件操作] [已解决]批处理删除文件夹下txt文本的指定内容 [打印本页]
作者: 删除记忆002 时间: 2015-1-11 18:29 标题: [已解决]批处理删除文件夹下txt文本的指定内容
本帖最后由 删除记忆002 于 2015-1-12 12:40 编辑
比如在e:\www 以及www下还有很多子文件夹,每个子文件夹都有一个a.txt文本,
请问如何批量删除所有子文件夹下a.txt文本中指定的文字?
作者: DAIC 时间: 2015-1-11 19:57
能否举个例子说明一下删除之前和删除之后a.txt分别是什么样子的
作者: tmplinshi 时间: 2015-1-11 21:03
- fr "e:\www\a.txt" -s -f:"指定的文字" -t
复制代码
fr 下载地址:http://baiy.cn/utils/fr/index.htm
作者: 删除记忆002 时间: 2015-1-11 22:22
回复 2# DAIC
a.txt之前 书名 计算机网络 价格 34 时间 2014年
删除之后a.txt 书名 计算机网络 价格 34
a.txt是所有子文件夹里都有的文件
作者: 删除记忆002 时间: 2015-1-11 22:27
回复 3# tmplinshi
@echo off
findstr /i /v /g:"a.txt" "b.txt">>end.txt
del b.txt
ren end.txt b.txt
pause
我用的是这段代码,不过他只能删除同个目录下的b.txt文本,子文件夹里的b.txt没作用,要怎么修改呢
作者: DAIC 时间: 2015-1-12 08:37
回复 4# 删除记忆002
请确认一下删除之前a.txt是下面哪种格式
作者: 删除记忆002 时间: 2015-1-12 09:30
回复 6# DAIC
删除之前的a.txt文本如下:
书名 计算机网络 价格 34 时间 2014年
作者: DAIC 时间: 2015-1-12 09:39
- @echo off
- for /f "" %%i in ('dir /b /s /a-d "e:\www\a.txt"') do (
- sed -i "s/时间 2014年//" "%%i"
- )
复制代码
作者: 删除记忆002 时间: 2015-1-12 10:34
回复 8# DAIC
上面那个for循环里面是set吧?
运行后出现这个错误:环境变量 -i "s/时间 2014//" "e:\www\fdf\新建文本文档.txt" 没有定义
作者: 删除记忆002 时间: 2015-1-12 11:37
回复 8# DAIC
@echo off
for /f "" %%i in ('dir /b /s /a-d "e:\www\b.txt"') do (
e:\www\sed.exe -i "s/时间 2014年//" "%%i"
)
运行这段代码后,b.txt文本里面的:时间 2014年还在,并没有去掉
作者: DAIC 时间: 2015-1-12 11:46
回复 10# 删除记忆002
把你的b.txt压缩一下传上来我试试
作者: 删除记忆002 时间: 2015-1-12 12:37
回复 11# DAIC
问题解决了,是我把文字输错,谢谢。
作者: DAIC 时间: 2015-1-12 13:52
你好,我还有个问题想请教你,通过下面这段代码修改过的文件,其文件夹的修改时间都是相同的,有没有办法使其不同。
比如:
文件名 2015/1/12 12:23
文件名 2015/1/12 12:23
加个延时试试- @echo off
- for /f "delims=" %%i in ('dir /b /s /a-d "e:\www\a.txt"') do (
- echo 正在处理文件 %%i
- sed -i "s/时间 2014年//" "%%i"
- ping -n 70 127.1 >nul
- )
复制代码
另外,有问题直接在论坛回帖就行了,请不要给我发私信。
作者: 删除记忆002 时间: 2015-1-12 13:58
回复 13# DAIC
好的,问题解决了,十分感谢
作者: 删除记忆002 时间: 2015-1-12 20:30
回复 13# DAIC
又有个新问题,有很多个文件夹比如名字为 dddd
ccc
如何把文件夹名字变成 dddd--
ccc--
也就是在每个文件夹名后加上--
作者: DAIC 时间: 2015-1-12 21:56
回复 15# 删除记忆002
完全不同的问题请单独发帖
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |