Board logo

标题: 如何更改文本指定行内容 [打印本页]

作者: tagaye     时间: 2008-5-18 13:36    标题: 如何更改文本指定行内容

有很多机器
想更改c:\netconfig\cfg  文件
内容大至为
第一行 注释  
第二行 指定IP地址  (各机相同)
第三个 各电脑的定义内容(各机不同)
所以不能用copy 来覆盖原文件
现在要更改 第二行的 指定ip 要怎么来做批处理
作者: huahua0919     时间: 2008-5-18 14:18
论坛这方面的内容很多,多搜索一下就有了
如果需要改的文件为 cfg.inf
@echo off&setlocal enabledelayedexpansion
for /f "delims=: tokens=2" %%i in ('ipconfig/all ^|findstr/ivc:"ip address"') do set a=%%i&set ip=!a:~1!
for /f "delims=" %%i in (cfg.inf) do (
if !n! equ 0 (>cfg.inf echo %%i) else (if !n! equ 1 (>>cfg.inf echo %ip%) else (>>cfg.inf echo %%i))
set/a n+=1
)

作者: HAT     时间: 2008-5-18 15:59
修改前:

  Quote:
注释  
127.0.0.1
各电脑的定义内容(各机不同)

修改后:

  Quote:
注释  
2.2.2.2
各电脑的定义内容(各机不同)


@echo off
change a.txt /from 127.0.0.1 /to 2.2.2.2

作者: tagaye     时间: 2008-5-18 16:04
谢谢 你的比较简单易懂 可是运行有错误

'change' 不是内部或外部命令,也不是可运行的程序或批处理文件。
作者: HAT     时间: 2008-5-18 16:05
本版搜索并下载change.exe

change.exe
http://upload.cn-dos.net/img/427.zip

[ Last edited by HAT on 2008-5-18 at 04:09 PM ]
作者: tagaye     时间: 2008-5-18 16:10
可以在纯DOS下运行吗
作者: tagaye     时间: 2008-5-18 16:26
change 把所有行里有该IP的都换了
而我只要改指定的第二行IP就行
恐怕这个命令方式不行  不过还是谢谢
作者: HAT     时间: 2008-5-18 16:34


  Quote:
Originally posted by tagaye at 2008-5-18 04:26 PM:
change 把所有行里有该IP的都换了
而我只要改指定的第二行IP就行
恐怕这个命令方式不行  不过还是谢谢


@echo off
change a.txt /from 127.0.0.1 /to 2.2.2.2 /lines 2-2