Щоб додати в файл дату і час, можна скористатися наступним командним файлом, який перейменовує ім'я файлу в ім'я формату filename_YYYYMMDDHHMM:
@Echo OFF
TITLE DateName
REM DateName.CMD
REM ім'я файлу являє змінна% 1, яка буде перетворена в формат REM% 1_YYMMDDHHMM
REM
REM --------------------------
IF% 1. == GoTo USAGE
Set CURRDATE =% TEMP% \ CURRDATE.TMP
Set CURRTIME =% TEMP% \ CURRTIME.TMP
DATE / T>% CURRDATE%
TIME / T>% CURRTIME%
Set PARSEARG = "eo1 =; tokens = 1,2,3,4 * delims = /, "
For / F% PARSEARG% %% i in (% CURRDATE%) Do SET YYYYMMDD = %% 1 %% k %% j
Set PARSEARG = "eo1 =; tokens = 1,2,3 * delims =. "
For / F% PARSEARG% %% i in (% CURRTIME%) Do SET HHMM = %% i %% j %% k
Echo RENAME% 1% 1_% YYYYMMDD %% HHMM%
RENAME% 1% 1_% YYYYMMDD %% HHMM%
GoTo END
USAGE
Echo Usage: DateName filename
Echo Renames filename to filename_YYYYMMDDHHMM
END
REM
TITLE Command Prompt
Існує можливість використовувати інший метод, який не потребує створення тимчасових файлів (провідний нуль додається для часу, менше 10-ти годин):
for / f "tokens = 1,2" %% u in ( 'date / t') do set d = %% v
for / f "tokens = 1" %% u in ( 'time / t') do set t = %% u
if "% t:
1,1% "==": "set t = 0% t%
set timestr = .:
3,2%
echo% timestr%
Ще один варіант полягає в застосуванні утиліти LOGTIME.EXE, яка дає можливість вказати рядок і потім записати час, вказане в рядку, в файл LOGTIME.LOG в поточному каталозі, прийнятому за замовчуванням. Крім того, є утиліта NOW.EXE, яка замінюється в рядку виклику на дату і час. наприклад:
Утиліти LOGTIME.EXE і NOW.EXE поставляються в пакеті Resource Kit.
Наступним способом є використання команди FOR. Файл журналу можна створити з використанням поточної дати в імені файлу:
rem створене унікальне ім'я файлу журналу, наприклад, Wed0804
FOR / F "tokens = 1-4 delims = /" %% i in ( 'date / t') do set file = %% i %% j %% k
Set LOG = drive: \ directory \ filename-% file% .log
Файл отримає наступний формат: FILENAME-DATE.LOG. Цей метод є більш простим і прекрасно працює.
Іноді має змив застосовувати наступну команди, яка додає в кінець файлу поточний час (однак, також видається повідомлення про вдале завершення операції, тому один з попередніх методів є кращим):
net time >> file.txt
І, нарешті, зверніть увагу на таку команду:
Echo | more | time | find "current" >> file.txt