您的位置:首页 > 编程语言 > VB

用VBS给照片或视频文件按时间重命名

2012-06-22 23:39 225 查看
相机里一堆照片视频,时间长了也不知道什么时候照的,干脆直接用文件名标识拍照时间,方便以后管理。

dim fld
dim file
dim fileCount
dim fileRepeat
dim fileNewPath
dim fileTimeString
dim fileExtendName

dim fso

const filterExtendNames = "mp2,mp3,mp4,avi,wma,wmv,mpa,mpe,mpg,mpeg,rmvb,mov,3gp,jpg,jpeg,png,bmp,amr,wav,mp3"

set fso = WSH.CreateObject("Scripting.FileSystemObject")

set fld = fso.GetFolder(".")
fileCount = 0

for each file in fld.Files
fileExtendName = LCase(fso.GetExtensionName(file.Path))
if InStr(filterExtendNames, fileExtendName) > 0 then
fileTimeString = extNum(Year(file.DateCreated), 4) & extNum(Month(file.DateCreated), 2)
fileTimeString = fileTimeString & extNum(Day(file.DateCreated), 2) & extNum(Hour(file.DateCreated), 2)
fileTimeString = fileTimeString & extNum(Minute(file.DateCreated), 2) & extNum(Second(file.DateCreated), 2)
if InStr(file.Name, fileTimeString) = 0 then
fileNewPath = fso.BuildPath(file.ParentFolder.Path, fileTimeString)
if fso.FileExists(fileNewPath & "." & fileExtendName) then
fileRepeat = 0
do
fileRepeat = fileRepeat + 1
loop Until not fso.FileExists(fileNewPath & extNum(fileRepeat, 2) & "." & fileExtendName)
fileTimeString = fileTimeString & extNum(fileRepeat, 2)
end if
fileTimeString = fileTimeString & "." & fileExtendName
file.Name = fileTimeString
fileCount = fileCount + 1
end if
end if
next

WSH.echo "total files: " & CStr(fileCount)

function extNum(num, length)
extNum = Right(String(length, "0") & CStr(num), length)
end function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐