An alternative to using ENVTIME would be to use something like this:-
::Copy script to filern.bat and put in c:\windows\command
:: Usage:- filern FileName (no txt extension)
@ECHO OFF
@if '%1'=='' goto NOINPUT
@if not exist %1.txt goto DOH
:

uts Date and Time prompt commands into {Temp1}.bat
@ECHO @prompt set $d$_ set $d$_ set $d$_ set HR $t$_ set M $t > %temp%\{Temp1}.bat
:: Runs {Temp1}.bat and puts output into {Temp2}.bat
%comspec% /e:2048 /c %temp%\{Temp1}.bat > %temp%\{Temp2}.bat
:: Creates DEBUG Script in {temp3}.dat file
echo e 106 44 41 59 3d>%temp%.\{Temp3}.DAT
echo e 10c 0d 0a 20 20 20 20 20 20>>%temp%.\{Temp3}.DAT
echo e 11b 20 20 20 4d 4f 4e 3d>>%temp%.\{Temp3}.DAT
echo e 124 0d 0a 20 20 20>>%temp%.\{Temp3}.DAT
echo e 130 20 20 20 20 20 59 45 41 52 3d>>%temp%.\{Temp3}.DAT
echo e 147 3d>>%temp%.\{Temp3}.DAT
echo e 14a 0d 0a 20 20 20 20 20 20 20>>%temp%.\{Temp3}.DAT
echo e 15a 20 4d 49 4e 3d>>%temp%.\{Temp3}.DAT
echo e 161 0d 0a 20 20 20 20>>%temp%.\{Temp3}.DAT
::Write the changes
echo w>>%temp%.\{Temp3}.DAT
::Quit DEBUG
echo q>>%temp%.\{Temp3}.DAT
::Runs DEBUG to edit {Temp2}.BAT to correct set commands
%comspec% /e:2048 /c DEBUG %temp%\{Temp2}.BAT < %temp%.\{Temp3}.DAT > nul
:: Runs {Temp2}.bat to set up environment variables
call %temp%\{Temp2}.BAT
:: Renames file
@REN %1.txt %YEAR%-%MON%-%DAY%_%HR%%MIN%.TXT
:: Cleans away variables used
FOR %%V IN (DAY MON YEAR HR MIN) DO SET %%V=
:

eletes temp files
del %temp%.\{Temp?}.*
goto END

OH
@ECHO File %1.txt not Found!!!
goto END:
:NOINPUT
@ECHO A FILENAME is required!
@ECHO Example: %0 demo
@ECHO The txt extension is not required.
:END