यहाँ एक स्थानीय स्वतंत्र समाधान है (SetDateTimeCompords.cmd नामक फ़ाइल की प्रतिलिपि):
@echo off
REM This script taken from the following URL:
REM http://www.winnetmag.com/windowsscripting/article/articleid/9177/windowsscripting_9177.html
REM Create the date and time elements.
for /f "tokens=1-7 delims=:/-, " %%i in ('echo exit^|cmd /q /k"prompt $d $t"') do (
for /f "tokens=2-4 delims=/-,() skip=1" %%a in ('echo.^|date') do (
set dow=%%i
set %%a=%%j
set %%b=%%k
set %%c=%%l
set hh=%%m
set min=%%n
set ss=%%o
)
)
REM Let's see the result.
echo %dow% %yy%-%mm%-%dd% @ %hh%:%min%:%ss%
मैंने अपनी सभी .cmd स्क्रिप्ट को एक ही फ़ोल्डर में रखा (% SCRIPTROOT%); किसी भी स्क्रिप्ट को दिनांक / समय मानों की आवश्यकता होगी जो SetDateTimeCompords.cmd को निम्न उदाहरण में कहेगा:
setlocal
@echo Initializing...
set SCRIPTROOT=%~dp0
set ERRLOG=C:\Oopsies.err
:: Log start time
call "%SCRIPTROOT%\SetDateTimeComponents.cmd" >nul
@echo === %dow% %yy%-%mm%-%dd% @ %hh%:%min%:%ss% : Start === >> %ERRLOG%
:: Perform some long running action and log errors to ERRLOG.
:: Log end time
call "%SCRIPTROOT%\SetDateTimeComponents.cmd" >nul
@echo === %dow% %yy%-%mm%-%dd% @ %hh%:%min%:%ss% : End === >> %ERRLOG%
जैसा कि उदाहरण से पता चलता है, जब भी आपको दिनांक / समय मान को अपडेट करने की आवश्यकता होती है, आप SetDateTimeCompords.cmd पर कॉल कर सकते हैं। स्क्रिप्ट को अपने समय में छुपाने के लिए स्वयं SetDateTimeCompords.cmd फ़ाइल बदसूरत विवरण को छिपाने का एक अच्छा तरीका है, और अधिक महत्वपूर्ण बात, टाइपो से बचें।