Windows utility written in Go to inject a %NOW% environment variable in a command.
There are no dependencies.
go get github.com/tischda/gonow
Usage: gonow [-h] [-v] command
OPTIONS:
-h
-help
displays this help message
-v
-version
print version and exit
Example:
# gonow "echo now is %%NOW%% and windir is %windir%"
now is 20170720-150748 and windir is C:\WINDOWS
Note that the %%NOW%%
is replaced internally so %
must be doubled.
I used to write this kind of code to name my log files with the current date:
:: compute current date for log file
set T=%TIME: =0%
set T=%T:~0,2%%T:~3,2%%T:~6,2%
set D=%DATE:~-4%%DATE:~-7,-5%%DATE:~-10,-8%
set LOGFILE=%LOG_DIR%\%JOB%_%D%-%T%.log
But this method only works for the French locale and is generally error prone.
OK, but I still want to set a variable. Now you can do this:
# for /f "delims=" %%a in ('gonow "echo %%%%NOW%%%%"') do @set REALNOW=%%a
# echo %REALNOW%
20170720-151620