用vbs批量改扩展名

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

on error resume next
set fso=createobject("scripting.filesystemobject")
dim fname,leixingname1,leixingname2 '定义全局变量
sub f
fname=inputbox("请输入文件夹路径","批处理修改指定扩展名","c:\")
leixingname1=inputbox("请输入需要修改的扩展名,如果为空,则表示对所有 "&_
"文件改名。","源扩展名","txt")
while leixingname2=""
leixingname2=inputbox("请输入目的扩展名","目的扩展名","txt")
wend
if len(fname)>1 then
a=mid(name,2,1)
end if
if a=":" or len(fname)<=2 then
ffff(fname)
else
cd=instr(fname,".") '返回"."所在位置
if cd>0 then
if mid(fname,cd,1)="." then
fff(fname)
end if
else
ff(fname) '调用过程
end if
end if
s=msgbox("修改成功!是否继续?",vbokcancel)
flag=0
if s=1 then
f
else
wscript.quit
end if
end sub

sub fff(fname) '定义过程
set file=fso.getfile(fname)
cd=len(leixingname1)
if cd>0 then
if right(,cd)=leixingname1 then
filename=fso.getbasename(file)
=filename&"."&leixingname2
set fileneme=nothing
end if
else
filename=fso.getbasename(file)
=filename&"."&leixingname2
set fileneme=nothing
end if
end sub

sub ff(fname) '定义过程
cd=len(leixingname1)
if fso.folderexists(fname) then
set folder=fso.getfolder(fname)
set files=folder.files
for each file in files
if cd>0 then
if right(,cd)=leixingname1 then
filename=fso.getbasename(file)
if not fso.fileexists(folder.path&"\"&filename&"."&leixingname2) then
=filename&"."&leixingname2
else
wscript.echo filename&"."&leixingname2&"已经存在"
end if
set fileneme=nothing
end if
else
filename=fso.getbasename(file)
if not fso.fileexists(folder.path&"\"&filename&"."&leixingname2) then
=filename&"."&leixingname2
else
wscript.echo filename&"."&leixingname2&"已经存在"
end if
set fileneme=nothing
end if
next
'下面这句不要的话可以去除
s=msgbox("是否要将文件夹:"&folder.path&"中的子文件夹中的文件也改扩展"&_
"名?",vbokcancel)
if s=1 then
set folders=folder.subfolders
for each folder in folders
ff(folder.path)
next
set folders=nothing
end if
else
wscript.echo "不存在文件夹:"&foldername
end if
end sub

sub ffff(fname)
set drive=fso.getdrive(fname)
set root=drive.rootfolder
set folders=root.subfolders
for each folder in folders
ff(folder.path)
next
set files=root.files
for each file in files
fff(file.path)
next
end sub

f '调用过程

相关文档
最新文档