用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
要自动运行 展开
问题补充:补充:
举个例子:
在系统盘下Program Files\abc\desktop.ini
这个ini文件内容是:
[.ShellClassInfo]
IconFile=folder.ico
IconIndex=0
ConfirmFileOp=0
问题是我想用vbs来替换folder.ico为xxx.ico
要自动运行 展开
展开全部
个人认为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 "替换完成。"
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 "替换完成。"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询