Board logo

标题: [文件操作] [已解决]批处理如何在根文件夹批量删除子文件夹里TXT文本里某些内容? [打印本页]

作者: Lekton    时间: 2021-11-11 00:15     标题: [已解决]批处理如何在根文件夹批量删除子文件夹里TXT文本里某些内容?

本帖最后由 Lekton 于 2021-11-11 16:59 编辑

TXT文本内容:
买家评价:衣服很好,面料舒服,大小合适,颜色很正,加绒,摸着很舒服,好看,洋气
评价时间:2020-10-22 15:41:58
买家追评:衣服挺好看,质量不错宝贝上身效果很好,宝贝太喜欢了
追评时间:2020-10-22 16:04:19

我要删除掉固定的“买家评价:”、“评价时间:”、“买家追评:”、“追评时间:”,还有日期都要删掉。所有的子文件夹都有固定的这些文字
作者: Lekton    时间: 2021-11-11 00:26

本帖最后由 Lekton 于 2021-11-11 00:31 编辑

由于无法上传附件,只能手动描述。
文本的位置位于:根文件夹 → 子文件夹 → 子子文件夹(TXT所在位置)
然后想要在 根文件夹 就把不想要的内容都删掉
作者: qixiaobin0715    时间: 2021-11-11 09:06

你想列出目录的结构,可以用tree /f命令。
不知我理解的对不对:删除行首冒号及前面的文字,删除日期,保留评价内容及时间。
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s /a-d *.txt') do (
  3.     (for /f "tokens=1,2* delims=: " %%a in ('type "%%i"') do if "%%c"=="" (echo,%%b) else echo,%%c)>%%~nxi
  4.     move "%%~nxi" "%%i">nul
  5. )
  6. pause
复制代码

作者: qixiaobin0715    时间: 2021-11-11 09:12

运行代码前,请备份好源文件。
作者: Lekton    时间: 2021-11-11 15:17

回复 3# qixiaobin0715


    时间也要删除掉,只留下评语。UTF-8文档改成bat运行代码后,文字变成火星文了。把文档储存成ANSI,再改成bat时,只剩下时间没有文字。
作者: qixiaobin0715    时间: 2021-11-11 15:21

回复 5# Lekton
你把其中一个源文本传到百度网盘,便于测试用。
作者: Lekton    时间: 2021-11-11 15:43

回复 6# qixiaobin0715


    链接:https://pan.baidu.com/s/1a73mwuWaM2xCzNtA6QMUtQ
提取码:xqj7
作者: Lekton    时间: 2021-11-11 15:43

回复 6# qixiaobin0715


    链接:https://pan.baidu.com/s/1a73mwuWaM2xCzNtA6QMUtQ
提取码:xqj7

压缩包已传网盘
作者: qixiaobin0715    时间: 2021-11-11 16:41

回复 8# Lekton
将批处理保存为UTF-8无签名编码,放在AAA文件夹中:
  1. @echo off &@cls&chcp>nul 65001
  2. for /f "delims=" %%i in ('dir /b /s /a-d *.txt') do (
  3.     (for /f "tokens=2 delims=:" %%a in ('findstr /r /v "\-.*\-" "%%i"') do (
  4.         echo,%%a
  5.     ))>"%%~nxi"
  6.     move "%%~nxi" "%%i">nul
  7. )
  8. pause
复制代码

作者: Lekton    时间: 2021-11-11 16:58

回复 9# qixiaobin0715


    感谢大神,万分感谢,已解决




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2