Я использую sqlcmd для экспорта 3 дат во временный файл, все 3 находятся в одной строке, и мне нужно разделить их, они отформатированы как [YYYY-MM-DD HH:MM:SS.000]
для каждой, поэтому строка в текстовом файле выглядит следующим образом:
[YYYY-MM-DD HH:MM:SS.000] [YYYY-MM-DD HH:MM:SS.000] [YYYY-MM-DD HH:MM:SS.000]
set /p date=< %tmp%
setlocal enabledelayedexpansion
set st=%date%
set d1=!st:~0,19!
set d2=!st:~24,43!
set d3=!st:~48,67!
echo Date1 [%d1%]
echo Date2 [%d2%]
echo Date3 [%d3%]
setlocal disabledelayedexpansion
Когда я запускаю это, он должен выводить [YYYY-MM-DD HH:MM:SS]
для каждой даты, которая работает для первой даты.
Вторая дата выводится как [YYYY-MM-DD HH:MM:SS.000 YYYY-MM-DD HH:MM:SS.000]
, первый набор - вторая дата, а вторая - третья дата.
Третья дата выводится [YYYY-MM-DD HH:MM:SS.000]
, добавляя .000
, даже если счет символов заканчивается через секунды.