Board logo

标题: [文本处理] 【已解决】批处理批量替换多文本中相同的词组 [打印本页]

作者: largedy    时间: 2009-5-8 18:45     标题: 【已解决】批处理批量替换多文本中相同的词组

先谢谢大家哈~
例:1.    我喜欢大家.txt 谁爱我.txt 你和我.txt 美丽的我们.txt 我是谁.txt 不要对我好.txt(意思就是不同的文件名,且没有任何规律)
2.  以上多个txt文本中含有多个词组“你好”和“大家”,现在需要将多个文本中所有的“你好”替换成“您好”,将所有的“大家”替换成“咱们”。

[ 本帖最后由 largedy 于 2009-5-9 20:05 编辑 ]
作者: 随风    时间: 2009-5-8 19:12

  1. @echo off
  2. md tem
  3. for /f "delims=" %%a in ('findstr /im "你好 大家" *.txt') do (
  4.    for /f "usebackq delims=" %%b in ("%%a") do (
  5.       set "num=%%b"
  6.       setlocal enabledelayedexpansion
  7.       set "num=!num:你好=您好!"
  8.       set "num=!num:大家=咱们!"
  9.       >>"tem\tem_%%~nxa" echo !num!
  10.       endlocal
  11. ))
  12. start "" "tem"
复制代码

作者: largedy    时间: 2009-5-8 19:37

谢谢朋友
我准备自己学习,然后自己创建一个。
三分钟以前我还看不懂代码的意思,但是经过五分钟看了三分之一的FOR语句的使用,我自己明白了上面代码大部份的作用。
还需要多多指教哈。
作者: 随风    时间: 2009-5-8 19:39

5分钟就明白了for ?你真是个天才^_^
作者: pusofalse    时间: 2009-5-8 19:40

  1. @echo Off
  2. Wfr *.txt -exp -f:"你好" -t:"您好"
  3. Wfr *.txt -exp -f:"大家" -t:"咱们"
  4. Pause
复制代码
wfr.exe 下载:http://bbs.bathome.net/thread-1909-1-1.html
作者: Batcher    时间: 2009-5-8 22:22     标题: 回复 3楼 的帖子

多看看for的教程吧
http://bbs.bathome.net/thread-2189-1-1.html
作者: largedy    时间: 2009-5-9 06:33

中是看懂一点点.比如for是干什么用的,以前都不知道.
现在最起码知道 for & do




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