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?
Ryan McCormick says
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…