batch script : date time stamp in file names for any date format

 batch script : date time stamp in file names for any date format

Many of us seen failures in creating a file name when parsing output from date and time environment variables through batch script . Because of different spaces and delimiters like - or / or : etc used in the date output . So to avoid such problems and make a strong batch script which can generate file names uniquely with help of Date and time is to use VB script along with Batch script .

So in the below code snippets I'm attaching one VB script and one batch script . Batch script internally calls the VB script to fetch correct year , month , date , hour , min and seconds.

VB script code : 

Wscript.Echo("set Year=" & DatePart("yyyy", Date))

Wscript.Echo("set Month=" & DatePart("m", Date))

Wscript.Echo("set Day=" & DatePart("d", Date))

Wscript.Echo("set Hour=" & DatePart("h", time))

Wscript.Echo("set Min=" & DatePart("m", time))

Wscript.Echo("set Sec=" & DatePart("s", time))


Batch script code: 

@echo off

echo Using VB SCRIPT



for /f "delims=" %%x in ('cscript /nologo date.vbs') do %%x

set TIMESTAMP=%Year%%Month%%Day%%Hour%%Min%%Sec%

echo %TIMESTAMP%

set fileName=my_%TIMESTAMP%.log

echo File name(With time stamp): %fileName%



echo Using Normal Way

echo DATE : %date%

set yy=%date:~-4%

set mm=%date:~-7,2%

set dd=%date:~-10,2%

set MYDATE=%yy%%mm%%dd%

Call Set "MYDATE=%%MYDATE: =%%"

echo %MYDATE%

echo TIME: %time%

set hh=%time:~-11,2%

set mm=%time:~-8,2%

set ss=%time:~-5,2%

set ms=%time:~-2,2%

set MYTIME=%hh%%mm%%ss%%ms%

Call Set "MYTIME=%%MYTIME: =%%"

echo %MYTIME%



set fileName=my_%MYDATE%%MYTIME%.log

echo %fileName%



Enhanced by Zemanta

Read more

Translate

Enter your email address:

Buffs ...

Visitors


hits counter
View My StatsCheck Google Page Rank

Add to Google Reader or Homepage

Bookmark and Share

Tags


Powered by WidgetsForFree