标题: [文本处理] 批处理如何在指定行替换成本机IP地址的最后一位 [打印本页]
作者: wanfeng 时间: 2008-8-17 12:28 标题: 批处理如何在指定行替换成本机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
请论坛的朋友指点下怎么用批处理实现。
作者: pusofalse 时间: 2008-8-17 13:05
- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=7 delims=. " %%a in ('ipconfig^|findstr/i /c:"ip address"') do set hostid=%%a
- for /f "delims= eol=" %%a in (test.txt) do (
- set "str=%%a"
- set/a n+=1
- if !n! neq 7 (echo %%a) else echo !str:~,-3!%hostid%
- )
- pause>nul
复制代码
作者: batman 时间: 2008-8-17 16:54
- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=7 delims=. " %%a in ('ipconfig^|findstr /c:"IP Address"') do set "a=%%a"
- for /f "delims=" %%i in ('type a.inf') do (
- if not defined flag (
- echo %%i>a.inf&set "flag=a"
- ) else (
- set "str=%%i"
- if /i "!str:~,7!" equ "phoneno" (
- echo !str:~,-3!%a%>>a.inf
- ) else (
- echo.%%i>>a.inf
- )
- )
- )
复制代码
[ 本帖最后由 batman 于 2008-8-17 16:55 编辑 ]
作者: wanfeng 时间: 2008-8-17 17:35
谢谢 两位朋友 。谢谢batman,感谢你一直耐心的指导。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |