Board logo

标题: [文件操作] [已解决]批处理删除文件夹下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

  1. 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是下面哪种格式
书名   计算机网络    价格   34    时间   2014年
书名   计算机网络
价格   34
时间   2014年
书名
计算机网络
价格
34
时间
2014年

作者: 删除记忆002    时间: 2015-1-12 09:30

回复 6# DAIC


    删除之前的a.txt文本如下:

   书名   计算机网络    价格   34    时间   2014年
作者: DAIC    时间: 2015-1-12 09:39

  1. @echo off
  2. for /f "" %%i in ('dir /b /s /a-d "e:\www\a.txt"') do (
  3.     sed -i "s/时间   2014年//" "%%i"
  4. )
复制代码

作者: 删除记忆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

加个延时试试
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s /a-d "e:\www\a.txt"') do (
  3.     echo 正在处理文件 %%i
  4.     sed -i "s/时间   2014年//" "%%i"
  5.     ping -n 70 127.1 >nul
  6. )
复制代码
另外,有问题直接在论坛回帖就行了,请不要给我发私信。
作者: 删除记忆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