标题: 如何批处理里替换某个文档中的字符?高手请指教!
[打印本页]
作者: jwm112377
时间: 2009-6-20 12:32
标题: 如何批处理里替换某个文档中的字符?高手请指教!
举例如:某个记事本文档中包含了很多诸如“:”(冒号)之类的符号,想写个批处理把它替换成其他字符,请高手指教,谢谢谢谢!
当然我也知道记事本里有替换功能,但还是想学习一下dos下的操作方法!
谢谢各位了!
作者: tireless
时间: 2009-6-20 15:08
@echo off
setlocal disabledelayedexpansion
set 文本="g:\我的文档\桌面\a.txt"
set "旧=:"
set "新=冒号"
:: 旧字串和新字串不能含有英文感叹号 !
(for /f "eol= delims=" %%a in ('findstr /n .* %文本%') do (
set var=%%a
setlocal enabledelayedexpansion
if "!var:*:=!"=="" (echo;) else (
set var=!var:*:=!
echo;!var:%旧%=%新%!
)
endlocal
))>"%temp%\txt_new"
move "%temp%\txt_new" %文本%
作者: Hanyeguxing
时间: 2009-6-20 16:15
如果要处理的文件中含有大量敏感字符和乱码,推荐使用第三方的sed或fr命令。。。
http://www.cn-dos.net/forum/viewthread.php?tid=24210&fpage=2
作者: yishanju
时间: 2009-6-20 20:17
咔咔,你推荐SED,
我推荐 FR
FR 比SED更简单更易学易用
懂正则表达式的话,看下说明就差不多了
FR 下载:
http://baiy.cn/utils/fr/index.htm
FR 查找到: 替换成XXXX :
fr -f:":" -t:"xxx" a.txt
[
Last edited by yishanju on 2009-6-20 at 20:20 ]
作者: HAT
时间: 2009-6-20 22:59
我推荐sed和wfr都学学
哪个顺手就用哪个
艺多不压身
作者: jwm112377
时间: 2009-6-21 01:40
谢谢各位高手,我学习一下。
作者: wuchan
时间: 2010-1-1 14:06
fr 提示在纯dos下无法使用要如何解决呀。。