Board logo

标题: [文本处理] 批处理如何替换一个文本文档里的IP地址 [打印本页]

作者: wanfeng    时间: 2008-8-14 14:51     标题: 批处理如何替换一个文本文档里的IP地址

本帖最后由 pcl_test 于 2016-8-31 14:50 编辑

各位大侠,小弟在此求助了
怎么用批处理在一个文本文档里添加IP地址,就是在下面的这个文件的publicIP这行替换成本机的IP地址。请问可以实现吗?
[SipPhone]                     
    SipServer = 133.50.80.4
    SipPort = 5060              
    ServerPass = 1              
    LocSipPort =5080            
    PublicIP = 133.50.80.13              #替换本机的IP地址
    PubRTPVoicePort = 0         
    PubRTPVideoPort = 0         
    Codec = CODER_PCMA_64K,CODER_PCMU_64K  
    SamplePeriod = 20           
    LogType = LOG_PHONE_INFO | LOG_SIPMSG_INFO
   
    RecPath =c:\rec
  
    ServerRecPath = c:\rec   
   
    RegType = 3
   
    BakPicture=c:\agent_video\demo.bmp
    RtpTimeout=10
作者: huahua0919    时间: 2008-8-14 15:09

  1. @echo off
  2. for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr/ic:"IP Address"') do (
  3. set ip=%%i
  4. )
  5. for /f "tokens=1* delims=:" %%i in ('findstr/n ".*" a.txt') do (
  6. if %%i equ 6 (echo     PublicIP =%ip%) else (echo.%%j)
  7. )
  8. pause
复制代码

作者: wanfeng    时间: 2008-8-14 16:01

楼上的,可以给你qq号码,详细讨论下好吗?
作者: batman    时间: 2008-8-15 11:34

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=2 delims=:" %%i in ('ipconfig /all^|findstr /c:"IP Address"') do set "ip=%%i"
  3. set "ip=%ip:~1%"
  4. for /f "delims=" %%a in ('type a.inf') do (
  5.      set /a n+=1
  6.      if !n! equ 1 (
  7.         echo %%a>a.inf
  8.         ) else (
  9.         if !n! equ 6 (
  10.            echo PublicIP = %ip%>>a.inf
  11.            ) else (
  12.            echo.%%a>>a.inf
  13.         )
  14.     )
  15. )
  16. start a.inf
复制代码

[ 本帖最后由 batman 于 2008-8-15 11:37 编辑 ]
作者: beck1321    时间: 2008-8-15 12:13

原帖由 wanfeng 于 2008-8-15 12:57 发表
谢谢batman,谢谢论坛的朋友 ,我测试batman的很好用,忠心的感谢!我是新手,还有很多都看不懂,不过谢谢各位朋友 ,我现在努力学习批处理,我也是学语言的,我想我还是可以学的很快的。



555555 我测试半天 不知道为什么 没反应

[ 本帖最后由 beck1321 于 2008-8-15 13:25 编辑 ]
作者: wanfeng    时间: 2008-8-15 12:57

谢谢batman,谢谢论坛的朋友 ,我测试batman的很好用,忠心的感谢!我是新手,还有很多都看不懂,不过谢谢各位朋友 ,我现在努力学习批处理,我也是学语言的,我想我还是可以学的很快的。
作者: beck1321    时间: 2008-8-15 13:28

哦 哈哈 原来如此 原来是 改的指定的行

我以为 是寻找字段再改的 哈哈 只弄了2行 怎么也没测试成功 原来如此  没好好看 。。不过看也看不懂 嘎嘎



呵呵 那么如果只是修改指定行数的文本文档 没有ip的话
我把斑竹的剪掉点就成了
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('type a.txt') do (
  3. set /a n+=1
  4. if !n! equ 1 (
  5. echo %%a>a.txt
  6. ) else (
  7. if !n! equ 6 ( rem 6 就是指要被修改的所在行数
  8. echo 这里输入修改的内容 >>a.txt
  9. ) else (
  10. echo.%%a>>a.txt
  11. )
  12. )
  13. )
复制代码

[ 本帖最后由 beck1321 于 2008-8-15 14:13 编辑 ]
作者: 愚无尽    时间: 2008-8-15 19:58

学习,再学习。。。。。。。。。。




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