Board logo

标题: [文本处理] BAT批处理怎样替换文本ServerName=192.168.0.201为其他? [打印本页]

作者: hfstar    时间: 2014-1-14 09:45     标题: BAT批处理怎样替换文本ServerName=192.168.0.201为其他?

我想把 dbsrv.ini 这个文件 里面的  ServerName=192.168.0.201  这个字段 全部替换成 ServerName=192.168.0.211 ,我有N多dbsrv.ini 的文件要替换  用批处理怎么弄,请高手指点一下,小弟不胜感激
作者: battab    时间: 2014-1-14 12:40

回复 1# hfstar
  1. @echo off
  2. for /f "tokens=*" %%i in (dbsrv.ini) do (
  3. set str=%%i
  4. setlocal enabledelayedexpansion
  5. echo !str:201=211!>>1.txt
  6. endlocal)
复制代码

作者: hfstar    时间: 2014-1-14 14:35

我不想单独生成一个文件  而是 在 原文件里面 改。。能不能用这个批处理实现呢
作者: DAIC    时间: 2014-1-14 15:05

  1. sed -i "s/ServerName=192\.168\.0\.201/ServerName=192.168.0.211/g" dbsrv.ini
复制代码

作者: hfstar    时间: 2014-1-14 15:19

回复 4# DAIC


    多谢啦
作者: battab    时间: 2014-1-14 15:25

回复 3# hfstar
  1. @echo off
  2. for /f "tokens=*" %%i in (dbsrv.ini) do (
  3. set str=%%i
  4. setlocal enabledelayedexpansion
  5. echo !str:201=211!>>1.txt
  6. endlocal)
  7. del /q dbsrv.ini
  8. ren 1.txt dbsrv.ini
复制代码

作者: DAIC    时间: 2014-1-14 15:27

回复 6# battab


最后的两个命令可以合并成一个move命令
  1. @echo off
  2. (for /f "tokens=*" %%i in (dbsrv.ini) do (
  3.     set str=%%i
  4.     setlocal enabledelayedexpansion
  5.     echo,!str:201=211!
  6.     endlocal
  7. ))>1.txt
  8. move /y 1.txt dbsrv.ini
复制代码

作者: hfstar    时间: 2014-1-14 15:29

假如 文件里面 有多行 要 处理替换呢?
作者: hfstar    时间: 2014-1-14 15:29

回复 6# battab


    谢谢,假如 文件里面 有多行 要 处理呢?
作者: battab    时间: 2014-1-14 15:51

回复 9# hfstar


    上面给出的代码应该可以处理配置文件里每行出现的”201“吧。
作者: hfstar    时间: 2014-1-14 18:06

回复 10# battab


    嗯,谢谢
作者: zaixinxiangnian    时间: 2014-1-17 00:27

回复 6# battab


    请教这里"tokens=*" 意思是不是读取文本中每一行给变量 %%i
另外 echo !str:201=211!>>1.txt   这句怎么解释?谢谢
作者: Batcher    时间: 2014-1-17 08:21

回复 12# zaixinxiangnian


字符串替换,请看教程:

批处理set命令学习笔记
http://www.bathome.net/viewthread.php?tid=3774#pid23888

批处理set命令使用详解
http://www.bathome.net/thread-57-1-1.html

批处理命令set截取字符详解
http://www.bathome.net/thread-996-1-1.html

批处理命令set变量字符截取点点通
http://www.bathome.net/thread-40-1-1.html

批处理命令set截取字符练习工具
http://www.bathome.net/thread-1149-1-1.html




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