[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set fileName=config.ini
  4. set /p ip=10.0.0.
  5. (for /f "tokens=1*,delims=:" %%h in('findstr /n . "%fileName%"') do (
  6.     set "ipAddress=%%i"
  7.     if "!ipAddress:address=!" neq "%%i" (
  8.         echo address=10.0.0.%ip%
  9.     ) else (
  10.         echo,%%i
  11.     )
  12. ))>%fileName%.temp
  13. move /y %fileName%.temp %fileName%
  14. pause
复制代码

TOP

回复 13# ygqiang


你跟楼主是同一个人吗?如果不是的话,我想等等楼主本人的测试结果。也许你们的环境不一样。
我的代码没有改动楼主原来的“修改”功能,仅仅是增加了“不去除空行”功能。

TOP

回复 21# taofan712


1、获取IP和获取IP所在的行号,两个操作可以合并在同一个for命令里面完成。
2. temp.ini这个临时文件是多余的,直接在后面那个for里面用命令替换就行了。
3、最后那个for命令里面ln这个变量是多余的。
  1. @echo off
  2. set /p rip=输入替换IP(如10.10.10.10)
  3. for /f "tokens=1,3 delims=:=" %%a in ('findstr /b /n "AppServer=" 1.ini') do (
  4.     set tn=%%a
  5.     set tip=%%b
  6. )
  7. setlocal enabledelayedexpansion
  8. (for /f "tokens=1* delims=:" %%i in ('findstr /n .* 1.ini') do (
  9.     set "line=%%j"
  10.     if %%i equ !tn! (
  11.         echo;!line:%tip%=%rip%!
  12.     ) else (
  13.         echo;!line!
  14.     )
  15. ))>2.ini
复制代码
2

评分人数

TOP

返回列表