@echo off @rem *************************************************************** @rem ** Author: Robert Lie @rem ** Copyright 2004 Mobilefish.com @rem ** All rights reserved @rem ** @rem ** date_time.bat @rem ** @rem ** Use current date and time as part of log file name. @rem ** This script only works on Windows 2000 and XP because @rem ** option "usebackq" is only valid for these operating systems. @rem ** @rem ** This script is based on a Dutch or English @rem ** date and time settings. @rem ** @rem ** Usage: date_time [dutch | english] @rem ** @rem ** Explanation: @rem ** 1)If you have a Dutch date setting, @rem ** type in a dos window: date [enter] @rem ** You will see something like: @rem ** Huidige datum: ma 15-05-2006 @rem ** ^ ^ ^ ^ @rem ** | | | | @rem ** | | | +----- year: token 4 @rem ** | | +-------- month: token 3 @rem ** | +------------ day: token 2 @rem ** +--------------- day of week: token 1 @rem ** @rem ** Note 1: The text "Huidige datum: " is NOT part of any token. @rem ** Note 2: In this script TWO delimeters are used "-" AND " " @rem ** If you leave out delimeter " " then the first token is @rem ** ma 15 @rem ** @rem ** 2)If you have a Dutch time setting, @rem ** type in a dos window: time [enter] @rem ** You will see something like: @rem ** Huidige tijd: 17:56:38,07 @rem ** ^ ^ ^ ^ @rem ** | | | | @rem ** | | | +------ hunderds of seconds: token 3 @rem ** | | +-------- seconds: token 3 @rem ** | +------------ minutes: token 2 @rem ** +--------------- hours: token 1 @rem ** @rem ** Note 1: The text "Huidige tijd: " is NOT part of any token. @rem ** Note 2: In this script ONE delimeter is used ":" @rem ** Note 3: Token 3 is "38 07". The comma is not displayed. @rem ** @rem ** 3)If you have a English date setting, @rem ** type in a dos window: date [enter] @rem ** You will see something like: @rem ** The current date is: Wed 05/17/2006 @rem ** ^ ^ ^ ^ @rem ** | | | | @rem ** | | | +----- year: token 4 @rem ** | | +--------- day: token 3 @rem ** | +------------ month: token 2 @rem ** +--------------- day of week: token 1 @rem ** @rem ** Note 1: The text "The current date is: " is NOT part of any token. @rem ** Note 2: In this script TWO delimeters are used "/" AND " " @rem ** If you leave out delimeter " " then the first token is @rem ** Wed 05 @rem ** @rem ** 4)If you have a English time setting, @rem ** type in a dos window: time [enter] @rem ** You will see something like: @rem ** The current time is: 12:00:16.04 @rem ** ^ ^ ^ ^ @rem ** | | | | @rem ** | | | +------ hunderds of seconds: token 3 @rem ** | | +-------- seconds: token 3 @rem ** | +------------ minutes: token 2 @rem ** +--------------- hours: token 1 @rem ** @rem ** Note 1: The text "The current time is: " is NOT part of any token. @rem ** Note 2: In this script ONE delimeter is used ":" @rem ** Note 3: Token 3 is "38 07". The comma is not displayed. @rem ** @rem ** 5) If you do not have a Dutch or English date and time setting @rem ** change the token and delimeters according to your situation. @rem ** @rem *************************************************************** @echo off if "%1"=="dutch" goto dutch if "%1"=="english" goto english goto error @rem *********************** Dutch settings ************************ :dutch @rem Fill the day, month en year variables for /F "usebackq tokens=2 delims=- " %%i in ('%DATE%') do set day=%%i for /F "usebackq tokens=3 delims=- " %%i in ('%DATE%') do set month=%%i for /F "usebackq tokens=4 delims=- " %%i in ('%DATE%') do set year=%%i @rem Fill the hour and minute variables for /F "usebackq tokens=1 delims=:" %%i in ('%TIME%') do set hour=%%i for /F "usebackq tokens=2 delims=:" %%i in ('%TIME%') do set minute=%%i goto create @rem *********************** English settings ********************** :english @rem Fill the day, month en year variables for /F "usebackq tokens=3 delims=/ " %%i in ('%DATE%') do set day=%%i for /F "usebackq tokens=2 delims=/ " %%i in ('%DATE%') do set month=%%i for /F "usebackq tokens=4 delims=/ " %%i in ('%DATE%') do set year=%%i @rem Fill the hour and minute variables for /F "usebackq tokens=1 delims=:" %%i in ('%TIME%') do set hour=%%i for /F "usebackq tokens=2 delims=:" %%i in ('%TIME%') do set minute=%%i goto create @rem *********************** Error ********************************* :error echo Usage 1: date_time dutch echo Usage 2: date_time english echo Unrecognized arg '%1' goto finish @rem *********************** Create file *************************** :create @rem Create file name echo hello > c:\logs\%year%%month%%day%_%hour%%minute%.txt @rem *********************** Finish ******************************** :finish