Board logo

标题: 【已解决】批处理怎样查找和替换文本中某个字符(不用sed和awk工具)? [打印本页]

作者: 牛虻    时间: 2014-8-25 14:30     标题: 【已解决】批处理怎样查找和替换文本中某个字符(不用sed和awk工具)?

本帖最后由 牛虻 于 2014-8-29 15:52 编辑

文本中某个字符的查找和替换(不使用sed和awk工具)
例如:
a.txt中的内容:
想要体会一年有多少价值,你可以去问一个失败重修的学生。
想要体会一月有多少价值,你可以去问一个不幸早产的母亲。
想要体会一周有多少价值,你可以去问一个定期周刊的编辑。
想要体会一小时有多少价值,你可以去问一对等待相聚的恋人。
想要体会一分钟有多少价值,你可以去问一个错过火车的旅人。
想要体会一秒钟有多少价值,你可以去问一个死里逃生的幸运儿。
想要体会一毫秒有多少价值,你可以去问一个错失金牌的运动员。
  
把“体会”修改为“感受”(不要用gsed和gawk工具)[已解决]
作者: Linuxer    时间: 2014-8-25 15:20

回复 1# 牛虻
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (a.txt) do (
  3. set var=%%i
  4. set var=!var:体会=感受!
  5. echo !var!>>b.txt
  6. )
  7. pause
复制代码

作者: 牛虻    时间: 2014-8-25 17:01

本帖最后由 牛虻 于 2014-8-25 17:03 编辑

回复 2# Linuxer

真是感谢,再送你一分!明天。
作者: 牛虻    时间: 2014-8-25 17:31

本帖最后由 牛虻 于 2014-8-25 17:32 编辑

回复 3#
作者: 牛虻    时间: 2014-8-25 17:33

回复 2# Linuxer

能给我讲一下这句吗?
    set var=!var:体会=感受!
作者: Linuxer    时间: 2014-8-25 17:54

回复 5# 牛虻

用新字符替换原字符
  1. %var:原字符=新字符%
复制代码
例如:
  1. @echo off
  2. set a=1,2,3
  3. set b=%a:,=bat%
  4. echo %b%
  5. pause
复制代码
就是把1,2,3里边的逗号替换成bat,结果是1bat2bat3




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