Using standard commands, I have scripted NowStr.bat to generate a 14 digit year, month, day, hour, minute, second string for the current date / time, regardless of your date / time format.

The syntax for using NowStr.bat is:

\[call\] NowStr YMDHMS

Where YMDHMS is a call directed environment variable that will contain the four digit year, 2 digit month, 2 digit day, 2 digit hour, 2 digit minute, and 2 digit second for the current date / time.

NowStr.bat contains:

@echo off                              if \{%1\}==\{\} @echo Syntax: NowStr YMDHMS&goto :EOF                              if exist "%TEMP%\NowStr.VBS" goto setStr                              @echo.YMDHMS = Right("20"^&Year(Now()),4) ^& _>"%TEMP%\NowStr.VBS"                              @echo.         Right("0"^&Month(Now()),2) ^& _>>"%TEMP%\NowStr.VBS"                              @echo.         Right("0"^&Day(Now()),2) ^& _>>"%TEMP%\NowStr.VBS"                              @echo.         Right("0"^&Hour(Now()),2) ^& _>>"%TEMP%\NowStr.VBS"                              @echo.         Right("0"^&Minute(Now()),2) ^& _>>"%TEMP%\NowStr.VBS"                              @echo.         Right("0"^&Second(Now()),2)>>"%TEMP%\NowStr.VBS"                              @echo.Wscript.Echo YMDHMS>>"%TEMP%\NowStr.VBS"                              :setStr                              for /f "Tokens=*" %%n in ('cscript //nologo "%TEMP%\NowStr.VBS"') do (                               set %1=%%n                              )