用vbs如何自动替换系统盘下的Program Files文件夹内的某个文件内的特定字符?

比如系统盘ProgramFiles内有个ini文件,我想自动替换这个ini文件内的某个字符串,请问哪位大侠给出源码!分就这么多了问题补充:补充:举个例子:在系统盘下Pro... 比如系统盘Program Files内有个ini文件,我想自动替换这个ini文件内的某个字符串,请问哪位大侠给出源码!分就这么多了
问题补充:补充:
举个例子:
在系统盘下Program Files\abc\desktop.ini
这个ini文件内容是:
[.ShellClassInfo]
IconFile=folder.ico
IconIndex=0
ConfirmFileOp=0
问题是我想用vbs来替换folder.ico为xxx.ico
要自动运行
展开
 我来答
zhuxunyao
2010-06-17 · TA获得超过127个赞
知道答主
回答量:80
采纳率:0%
帮助的人:59.7万
展开全部
个人认为VBS对字符处理的能力非常完美了。给你的代码如下:
on error resume next
p = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles%")
file = P & "\abc\desktop.ini"
set fso = createobject("scripting.filesystemobject")
set f1 = fso.opentextfile (file,1)
allstr = f1.readall
rs = "folder.ico"
ms = "xxx.ico"
nstr = replace (allstr,rs,ms)
f1.close
set f2 = fso.opentextfile (file,2)
f2.write(nstr)
f2.close

在本机已经通过测试。

帮你写这个代码让我想到曾经给自己用的一个VBS很类似。目的是将E:\web文件夹下所有后缀名为*.asp的文件内容字符含有“ http://www.powereasy.net”替换成“http://www.baidu.com”。现将代码贴出供参考:

folderpaths="E:\web"
a = "http://www.powereasy.net"
b = "http://www.baidu.com"
set fso=createobject("scripting.filesystemobject")
set loadfolder=fso.GetFolder(folderpaths)
set listfolder=loadfolder.SubFolders
set listfile1=loadfolder.files
for each k in listfile1
if fso.GetExtensionName(k) = "asp" then
set file=fso.opentextfile(k,1)
s=file.readall
file.close
s=replace(s,a,b)
set file=fso.opentextfile(k,2)
file.write s
file.close
end if
next
'上面是替换根目录下的。
'下面是替换子目录下文件名为log.txt和*.asp的文件,并跳过空文件(文件大小=0B的)。
for each i in listfolder
set loadfolder=fso.GetFolder(i)
set listfile2=loadfolder.Files
for each j in listfile2
set asdf = fso.opentextfile("log.txt",8,true)
asdf.writeline j
asdf.close
set fo = fso.getfile(j)
fsize = fo.size
if fsize > 0 and fso.GetExtensionName(fo) = "asp" then
set file=fso.opentextfile(fo,1)
q=file.readall
file.close
q=replace(s,a,b)
set file=fso.opentextfile(fo,2)
file.write s
file.close
end if
next
next
msgbox "替换完成。"
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式