Board logo

标题: [文本处理] 批处理怎样批量删除txt中的指定的文字? [打印本页]

作者: wangkuang    时间: 2020-12-2 18:26     标题: 批处理怎样批量删除txt中的指定的文字?

有多的txt文本,1.txt  2.txt   3.txt   每个txt中否含有   思想品德  这四个字

如何批处理删除所有txt中的  思想品德  四个字?
作者: ivor    时间: 2020-12-2 18:56

http://bcn.bathome.net/s/tool/index.html?down&key=sed
作者: wangkuang    时间: 2020-12-2 18:59

回复 2# ivor


    太专业,可否直接上个代码
作者: Batcher    时间: 2020-12-2 23:37

回复 1# wangkuang


测试之前请注意做好备份
  1. sed -i "s/思想品德//g" "*.txt"
复制代码

作者: lancer    时间: 2020-12-3 11:47

  1. @echo off
  2. echo. & echo 注意,被处理的文本编码必须是ANSI编码方式,UTF-8编码或其他编码的文本是无法通过批处理替换其内的内容的。
  3. echo. & echo 本批处理可以一次性处理多个文件,处理后的文本会生成副本文件,原文件不会删除
  4. echo. & echo 本批处理默认处理txt文本,不需要指定格式
  5. echo. & set /p "str1=请输入被替换字符串:"
  6. echo. & set /p "str2=替换为:"
  7. echo. & echo 正在替换中,请稍等。。。。。。
  8. for /f "delims=" %%i in ('dir /b *.txt') do (
  9. (for /f "delims=" %%j in (%%i) do (
  10. set "str3=%%j"
  11. call call set "str4=%%%%str3:%%str1%%=%%str2%%%%%%"
  12. call echo %%str4%%
  13. )
  14. )>>"%%~ni 副本.txt"
  15. )
  16. echo. & echo 替换完成,已在批处理所在目录生成新的副本文件
  17. echo. & pause
复制代码





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