VBScript – How to Sort Folders using VB’s FileSystemObject and an ADODB Recordset

This is an example of how to sort a list of folders using VBScript.

The FileSystemObject in Visual Basic does not have a built in sorting method. #FrownyFace

I wanted to have a function that could do this a painlessly as possible. I searched around and found a good example but it needed some tweaking as it was originally written for running in an Classic ASP page.

I started with sample code from the site link below. Posted by “Thing”

https://www.sitepoint.com/forums/showthread.php?330636-Sorting-Files-using-FileSystemObject

It uses the FileSystemObject but also uses an adhoc ADODB Recordset to store the folder names then we use the recordset to sort then output the list on the order we’ve chosen.

Simple and effective code.

I’ve converted it to run on any Standard Windows PC.

Enjoy!

VBScript Code Example

Set objRS = CreateObject("ADODB.Recordset")
objRS.CursorLocation = 3 ' adUseClient
objRS.Fields.Append "Name", 200, 50 ' adVarChar

objRS.Fields.Append "created", 7 ' adDate
objRS.Open

imagespath = "C:\scripts"
Dim FSObj, FOlderObj, FileCollObj

Set FSObj = CreateObject("Scripting.FileSystemObject")
Set FolderObj = FSObj.GetFolder(imagespath)
Set FolderCollObj = FolderObj.SubFolders

For Each item in FolderCollObj
    Set SubFolderObj = FSObj.GetFolder(FolderObj & "/" & item.name)
    objRS.AddNew
    objRS("Name") = item.name
    objRS("created") = SubFolderObj.DateCreated
Next

objRS.Sort = "created ASC"
objRS.MoveFirst

Do UNTIL objRS.EOF  
    msgbox "Folder Name=" & objRS(0)    
    objRS.movenext
Loop

Author: Rick Cable / AKA Cyber Abyss

A 16 year US Navy Veteran with 25+ years experience in various IT Roles in the US Navy, Startups and Healthcare. Founder of FinditClassifieds.com in 1997 to present and co-founder of Sports Card Collector Software startup, LK2 Software 1999-2002. For last 7 years working as a full-stack developer supporting multiple agile teams and products in a large healthcare organization. Part-time Cyber Researcher, Aspiring Hacker, Lock Picker and OSINT enthusiast.