I honestly have no idea how much traffic this article is going to get. I wanted to post it simply because I thought it was neat. This script was designed to automatically generate a folder name of ‘mmddyyyy’ for every Tuesday date of a year that a user inputs. This script can be copied and pasted into notepad and saved to where the folders need to be generated with a filename of choice with “.vbs” as the file type at the end.
Upon executing the end-user will be prompted to type in the target year.
'Get user input
iYear = InputBox("What year would you like to create folders for?")
If IsNull(iYear) = False Then
Call makeFolders(iYear)
End If
Sub makeFolders(iYear)
Dim sDate,eDate,ctDate,oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
'make folders for the year entered by the end user
sDate = CDate("01/01/" & iYear)
eDate = CDate("12/31/" & iYear)
ctDate = sDate
For i = 1 to DateDiff("d", sDate, eDate)
If Weekday(ctDate) = vbTuesday Then
oFSO.CreateFolder createDate(ctDate)
'MAKE FOLDER
End If
ctDate = ctDate + 1
NEXT
End Sub
Function createDate(myDate)
d = WhatEver(Day(myDate))
m = WhatEver(Month(myDate))
y = Year(myDate)
createDate = m & d & y
End Function
Function WhatEver(num)
If(Len(num)=1) Then
WhatEver="0"&num
Else
WhatEver=num
End If
End Function
Please note that this script can be adapted to create folders for any day of the week. To modify, locate the for loop and change “vbTuesday” to any day of the week with “vb” at the beginning.
As always comments are greatly appreciated.
How would you modify the folder name creation to do things like adding a _ as a seporator between DD__MM_YYYY?
Where the folder is created with the date: oFSO.CreateFolder createDate(ctDate) – look at the createDate function. You could create your own custom implementation with the strings you want, etc…