How to get date in batch file scripts?
Keeping track of log files with date on the filename is a
good practice.
Easier to manage and keeping track of the files is not
difficult and whenever there’s a need to review the log files you can just open
the exact date that you need to check.
Using command line you can get time and date.
Getting the date in command line comes in one format.
Running this command:
echo %date%
It will display an output like: Mon 04/21/2014 and this is
the only format that can be displayed using the command above.
But using batch file scripts it
can be processed to some other formats that are a standard in an organization.
If it is using DD-MM-YYYY, OR
MM-YYYY-DD, or Day of the Week+ MM+YY+DD and other specified formats.
The output of echo %date% which
is “Mon 04/21/2014” is a 15 columns string including spaces.
It’s quite important to know that
the output is a 15 columns string; to trim the output to get the desired data
will be specified by column position.
Let’s try some batch file
commands to process the output string of echo %date%.
Running this command below from a
batch file script:
set xmonthdate=%date:~7,2%%date:~0,0%%date:~0,0%
echo %xmonthdate%
Output will be “21”.
set xyear=%date:~10,4%%date:~0,0%%date:~0,0%
echo %xyear%
Output will be “2014”.
set xmonth=%date:~4,2%%date:~0,0%%date:~0,0%
echo %xmonth%
Output will be “04”.
set
xdayoftheweek=%date:~0,0%%date:~0,3%%date:~0,0%
echo %xdayoftheweek%
Output will be “Mon”.
If we try this command below:
set xmmddyyyy=%date:~4,2%-%date:~7,2%-%date:~10,4%
echo %xmmddyyyy%
Output will be: 04-21-2014
If the output will be something
like: 04-05-2014 and the user reading the output can read it as April 5, 2014
or May 04, 2014. If he or she is does not know of the standard format used on
the system.
Using the batch script “if then
statement” it can be used to substitute the month output to its equivalent
month abbreviation.
REM Bath Script Begin
@echo off
set
xmonth=%date:~0,0%%date:~4,2%%date:~0,0%
echo %xmonth%
set
mydate=%date:~7,2%%date:~0,3%%date:~10,4%
echo %mydate%
if %xmonth%==12 set monthresult=Dec
if %xmonth%==11 set monthresult=Nov
if %xmonth%==10 set monthresult=Oct
if %xmonth%==09 set monthresult=Sep
if %xmonth%==08 set monthresult=Aug
if %xmonth%==07 set monthresult=Jul
if %xmonth%==06 set monthresult=Jun
if %xmonth%==05 set monthresult=May
if %xmonth%==04 set monthresult=Apr
if %xmonth%==03 set monthresult=Mar
if %xmonth%==02 set monthresult=Feb
if %xmonth%==01 set monthresult=Jan
Running the script above will
output something like this:
04
21Mon2014
Apr
That’s it batch file scripting is
fun! Cheers!!! Hope you can apply it to
your work!
Please post a comment if it
helps! J
Thanks for reading.
Comments
Post a Comment