' version:  0.9
set fso = createobject("scripting.filesystemobject")
set folder = fso.getfolder(".")
scriptname = wscript.scriptname
scriptparts = split(scriptname,".")
set logfile = fso.opentextfile(scriptparts(0) & ".log",8,true)
logfile.writeline("-------------- " & year(now) & "-" & right("0" & month(now),2) & "-" & right("0" & day(now),2) & "  " & right("0" & hour(now),2) & ":" & right("0" & minute(now),2) & ":" & right("0" & second(now),2) & " --------------")
for each file in folder.files
	fileparts = split(file.name,".")
	ext = fileparts(1)
	filename = file.name
	newname = null
	if instr(1,ext,"jpg",vbtextcompare) then 
		offset = 0
		readuntil = 1000
		set fileread = fso.opentextfile(filename,1)
		filecontents = fileread.read(readuntil)
		fileread.close
		set objregex = new regexp
		objregex.global = false
		objregex.pattern = "\d{2}[:]\d{2}[:]\d{4}"
		set colmatches = objregex.execute(strreverse(filecontents))
		if colmatches.count > 0 then
			for each strmatch in colmatches
				offset = readuntil-strmatch.firstindex-4
			next
		else
			msgbox filename & vbcrlf & "Increase [readuntil]",vbokonly,"Error"
		end if
		if not offset = 0 then
			if isnumeric(mid(filecontents,offset,2)) then
				exiftimestamp = mid(filecontents,offset,19)
				mm = mid(exiftimestamp,1,2)
				dd = mid(exiftimestamp,4,2)
				hh = mid(exiftimestamp,7,2)
				nn = mid(exiftimestamp,10,2)
				ss = mid(exiftimestamp,13,2)
				newname = mm & dd & hh & nn & ss
			else
				newname = null
			end if
		end if
	elseif instr(1,ext,"mov",vbtextcompare) or instr(1,ext,"avi",vbtextcompare) or instr(1,ext,"mp4",vbtextcompare) then
		lastmod = file.datelastmodified
		mm = datepart("m",lastmod)
		dd = datepart("d",lastmod)
		hh = datepart("h",lastmod)
		nn = datepart("n",lastmod)
		ss = datepart("s",lastmod)
		if len(mm) = 1 then mm = "0" & mm end if
		if len(dd) = 1 then dd = "0" & dd end if
		if len(hh) = 1 then hh = "0" & hh end if
		if len(nn) = 1 then nn = "0" & nn end if
		if len(ss) = 1 then ss = "0" & ss end if
		newname = mm & dd & hh & nn & ss
	end if
	if not isnull(newname) then
		if fso.fileexists(newname & "." & lcase(ext)) then
			set testfile = fso.getfile(newname & "." & lcase(ext))
			if testfile.size <> file.size then
				while fso.fileexists(newname & "." & lcase(ext))
					newname = right("0" & newname+1,10)
				wend
			end if
		end if
		file.move newname & "." & lcase(ext)
		if err.number = 58 then
			msgbox "Duplicate files: " & vbcrlf & newname & vbcrlf & filename,vbokonly,"Error"
		end if
		on error resume next
		logfile.writeline(left(filename & space(24),24) & "=>" & right(space(24) & newname & "." & lcase(ext),24))
	end if
next
logfile.writeline("--------------------------------------------------" & vbnewline)