[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何在指定行替换成本机IP地址的最后一位

[CTI]
ipaddress=133.37.77.23           这不是本机IP,这是服务器IP
port=9002
[DeskConf]
canchoosedev = 0
defaultdevtype = 0
phoneno = 47020013                    就是将这行的phoneno = 47020013的最后3位替换成本机IP的最后一位,你如本机IP是133.50.80.123    则phoneno = 47020123  
请论坛的朋友指点下怎么用批处理实现。

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=7 delims=. " %%a in ('ipconfig^|findstr/i /c:"ip address"') do set hostid=%%a
  3. for /f "delims= eol=" %%a in (test.txt) do (
  4.       set "str=%%a"
  5.       set/a n+=1
  6.       if !n! neq 7 (echo %%a) else echo !str:~,-3!%hostid%
  7. )
  8. pause>nul
复制代码
心绪平和,眼藏静谧。

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=7 delims=. " %%a in ('ipconfig^|findstr /c:"IP Address"') do set "a=%%a"
  3. for /f "delims=" %%i in ('type a.inf') do (
  4.      if not defined flag (
  5.         echo %%i>a.inf&set "flag=a"
  6.         ) else (
  7.         set "str=%%i"
  8.        if /i "!str:~,7!" equ "phoneno" (
  9.          echo !str:~,-3!%a%>>a.inf
  10.          ) else (
  11.          echo.%%i>>a.inf
  12.       )
  13.    )
  14. )   
复制代码

[ 本帖最后由 batman 于 2008-8-17 16:55 编辑 ]
***共同提高***

TOP

谢谢 两位朋友 。谢谢batman,感谢你一直耐心的指导。

TOP

返回列表