7

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.

Excellll
  • 12,847

3 Answers3

9

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.

Snark
  • 33,097
0

Another, uglier but much more flexible way, is to generate a separate batch file for every directory that needs to be created, that (a) creates the directory and (b) renames the next batch file that needs to be executed to a previously selected common name. You just run a batch file with that common name every day

user7963
  • 1,517
0

Try these options:

set name=%date%
set name2=%name:~6,4%-%name:~3,2%-%name:~0,2%
set tm=%time%
set name3=%tm:~0,2%-%tm:~3,2%
set finname=%name2%_%name3%
mkdir \\Server\Share1\Subfolder1\%finname%
Dave
  • 25,513
Kasun
  • 1