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
修改前:
注释
127.0.0.1
各电脑的定义内容(各机不同)


修改后:
注释
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
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