VBS 批量重命名文件&提取文件路径信息

转自  http://hi.baidu.com/sunch721521/blog/item/1a872173039887148701b0db.html

 

dim fso,my_file,directory,tmpname,num,url,newname
set fso = CreateObject("Scripting.FileSystemObject")
'设置文件目录所在位置
url=inputbox("输入文件所在的目录,如D:\floder")
set directory = fso.getfolder(url)
'设置重命名前缀
newname=inputbox("输入新名字前缀")
'建立一个文本,存储文件的名字
set file=fso.createtextfile( "name.txt",2,ture)
for each my_file in directory.files
'读取文件的名字
tmpname=lcase(my_file.name)
'把原来的文件名保存起来
file.writeline tmpname
'给文件重命名
num=num+1
my_file.name=newname&"_"&num&"."&fso.GetExtensionName(my_file)
next

补充:提取文件路径、文件名、文件后缀
{
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set my_file = objFSO.GetFile("d:\folder\zsc.txt")

    Wscript.Echo "文件所在驱动器符号: " & objFSO.GetDriveName(my_file)
    Wscript.Echo "文件所在路径: " & objFSO.GetAbsolutePathName(my_file)
    Wscript.Echo "文件所在目录: " & objFSO.GetParentFolderName(my_file)
    Wscript.Echo "文件名: " & objFSO.GetFileName(my_file)
    Wscript.Echo "文件基本名: " & objFSO.GetBaseName(my_file)
    Wscript.Echo "文件扩展名: " & objFSO.GetExtensionName(my_file)

    'Wscript.Echo "文件名: " & my_file.Name
    'Wscript.Echo "以8.3格式的短文件名: " & my_file.ShortName
}

举例:D盘folder内有很多快捷方式,名字为“快捷方式 到 *.exe.lnk”,修改为“*.lnk”,即去掉“快捷方式 到”和“.exe”
{
    dim fso,my_file,directory,tmpname,str1,str2
    Set fso = CreateObject("Scripting.FileSystemObject")
    set directory = fso.getfolder("D:\folder")
    str1="快捷方式 到"
    str2=".exe."
    for each my_file in directory.files
    tmpname=lcase(my_file.name)
    if instr(tmpname,str1)>0 then
    tmpname=replace(tmpname,str1,"") 
    end if
    if instr(tmpname,str2)>0 then
    tmpname=replace(tmpname,str2,".")
    end if
    my_file.name=tmpname
    next
}

posted @ 2010-11-25 17:17  SmartDog  阅读(1726)  评论(0编辑  收藏  举报