如何用BAT批处理更改.ini文件指定的内容

在c:\windows下有个.ini文件,要将里面指定的IP地址改成域名.如:把其中的"Item4=192.168.1.2"修改成"Item4=test.test.com... 在c:\windows下有个.ini文件,要将里面指定的IP地址改成域名.如:
把其中的 "Item4=192.168.1.2" 修改成"Item4=test.test.com
谢谢各位高手!

提问者: eryou007 - 一级最佳答案用VBS更简单:
vbs代码:

On Error Resume Next
Dim Fso,IniFl,Str,IniFn
IniFn=" " ' 在等号后面双引号里写上ini文件的文件名,例如:IniFn="configip.ini"
Set Fso = CreateObject("Scripting.FileSystemObject")
Set IniFl = Fso.OpenTextFile ("c:\Windows\"&IniFn,1)
Str = Replace ( IniFl.ReadAll,"Item4=192.168.1.2","Item4=test.test.com")
Set IniFl = Fso.OpenTextFile ("c:\Windows\"&IniFn,2)
IniFl.Write Str
IniFl.Close

批处理代码:

@echo off >tmp.ini
set IniFn=
::在等号后面写上ini的文件名,如:set IniFn=configip.ini
for /f "tokens=1* delims=:" %%i in ('findstr /n ".*" c:\Windows\%IniFn%') do (
if "%%j"=="" (echo.>>tmp.ini) else (
echo %%j|find "Item4=192.168.1.2">nul&&(
call set tp=%%j&call echo %%tp:192.168.1.2=test.test.com%%>>tmp.ini)||(
>>tmp.ini echo %%j)
)
)
copy tmp.ini c:\Windows\%IniFn% /y >nul||(attrib -s -a -r -h c:\Windows\%IniFn%© tmp.ini c:\Windows\%IniFn% /y >nul)
del tmp.ini
pause

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
高手!
再请教个问题
能否把指定ini文件的内容copy到临时的同名ini文件中,然后更改指定内容,删除原ini文件,再把临时同名ini文件copy到windows下? 怎么实现?
非常感谢!
展开
 我来答
迷茫之雁
2010-05-18 · TA获得超过195个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:0
展开全部
其实是浏览器的问题。
我的粘贴上来的批处理倒数第三行里:�0�8 tmp.ini,原来的代码是:& copy tmp.ini。
就是当ini文件没有办法修改时,去掉它的属性再用tmp.ini再去覆盖它。写关于Windows目录下的ini文件,我就想到了可能修改不了。

你把Windows目录下的ini文件,去掉它的所有属性,就可以用vbs也可以用bat来修改了。

就用命令来修改吧。在开始——运行中输入:
cmd,再在命令行中输入:
attrib -s -a -r -h c:\Windows\
后面加上ini的文件名,去掉属性后,就可以修改了。

我回头看了一下我答案,还是乱码。晕。。
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式