№
Вы можете использовать UDF в части SELECT
, но UDF нельзя использовать другими способами.
%time%
должен работать, если достаточно времени протекло между вызовами:
@echo OFF
@echo %time%
ping -n 1 -w 1 127.0.0.1 1>nul
@echo %time%
В моей системе я получаю следующий вывод:
6:46:13.50
6:46:13.60
Если Вы делаете что-то как
for /l %%i in (1,1,500) do @echo %time%
, или
if foo (
echo %time%
do_something
echo %time%
)
тогда Вы могли бы просто поместить setlocal enabledelayedexpansion
в начале Вашего пакетного файла и использования !time!
вместо %time%
, который оценен на выполнении, не при парсинге строки (который включает полные блоки, включенные в круглые скобки).
Возможно этот инструмент мог помочь? Это не возвращает время, но это - хороший инструмент для измерения времени, которое занимает команда.