In a batch script, how can I create a folder with current date i.e. yyyymndy ?

Usage will be a daily task to copy only new or modified files into a new folder name with current date.
robocopy \\Srv1\Data\John \\Srv2\Bkup\John\20180507 /maxage:1 /s
Who is Participating?
This uses WMI to create a time stamp that doesn't change with regional settings and/or the OS version:
@echo off
setlocal enabledelayedexpansion
REM The next line sets the following DayTime variables: DT_Day, DT_DayOfWeek, DT_Hour, DT_Minute, DT_Month, DT_Quarter, DT_Second, DT_WeekInMonth, DT_Year
for /f "delims=" %%a in ('wmic.exe Path Win32_LocalTime GET * /value') do (for /f "delims=" %%b in ("%%a") do set DT_%%b)
for %%a in (DT_Month DT_Day DT_Hour DT_Minute DT_Second) do (if !%%a! LSS 10 set %%a=0!%%a!)
set Timestamp=%DT_Year%%DT_Month%%DT_Day%
echo Timestamp: %Timestamp%

robocopy.exe \\Srv1\Data\John \\Srv2\Bkup\John\%Timestamp% /maxage:1 /s

Open in new window

David GipeCommented:
Another way to get the date output is (assuming the date format is "Mon mm/dd/yyyy":
set mytimestamp=%date:~10,4%%date:~7,2%%date:~4,2%
<commands to create the directory and then copy files>
set mytimestamp=
=== END

However, I like oBdA's solution better because it is regional setting INdependent ... I was already researching, found this and saw his answer ...
Bill PrewCommented:
I also use WMIC, but a slightly different command that I find easier for most date/time stamps I want to generate...

REM Get current date and time from WMIC (YYYYMMDDhhmmss.iiiiii-zzz)
set DateStamp=
for /f "tokens=* skip=1" %%A in ('wmic os get LocalDateTime') do (
    if not defined DateStamp set DateStamp=%%A

REM Strip off just YYYYMMDD
set DateStamp=%DateStamp:~0,8%

robocopy \\Srv1\Data\John \\Srv2\Bkup\John\%DateStamp% /maxage:1 /s

Open in new window

GGHCAuthor Commented:
Thanks Worked
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.