Windows – Script to create folders in multiple directories using YYYYMMDD date as the folder name

batchfile managementwindows

At work every morning I have to create multiple file folders (using a YYYYMMDD date format as the file folder name) in different directories across our network for various departments. This is a real pain and time waster, and I would like to automate the process. So my question is:

Does anyone know how I can write a script that uses the current system date in YYYYMMDD format, and creates multiple folders in different network directories with each folder named as the date in YYYYMMDD format?

Thanks in advance for your answers.

Best Answer

Create a batch file that looks like this:

@echo off
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd=%%k%%j%%i
echo Date: %yyyymmdd%

mkdir \\server1\share1\subdir1\%yyyymmdd%
mkdir \\server1\share2\subdir2\%yyyymmdd%
mkdir \\server2\share3\subdir3\%yyyymmdd%
...

Warning: the format of the date (yyyymmdd=%%k%%j%%i) depends on your regional settings. Because I use the French date format (dd/mm/yyyy), I have to use "%%k%%j%%i" as the format (%%i = day, %%j = month, %%j = year).

If your regional settings are set to US style (mm/dd/yyyy), you should use "%%k%%i%%j" (%%i = month, %%j = day, %%j = year).


If you want to include the time as well, use this:

@echo off
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd=%%k%%j%%i
echo Date: %yyyymmdd%
for /F "tokens=1-3 delims=: " %%i in ('echo %time%') do set hhmmss=%%i%%j%%k
echo Time: %hhmmss%

mkdir \\server1\share1\subdir1\%yyyymmdd%%hhmmss%

The date is stored in the variable %yyyymmdd%, the time in %hhmmss% . Same remark as above for the date, not applicable for the time.

You could use a separator between the date and time: %yyyymmdd%_%hhmmss% for instance.

Related Question