for /f "tokens=1" %%i in ('date /t') do set DATE_DOW=%%i
for /f "tokens=2" %%i in ('date /t') do set DATE_DAY=%%i
Если в формате времени США, date /t
выводит дату в виде Wed 02/01/2012
Маркер (без указания delims
) будет отделять этот вывод, используя пробелы в качестве фактора ограничения.Итак, токен 1 = Wed
и токен 2 = 02/01/2012
.Итак, вы назначаете DATE_DOW=Wed
и DATE_DAY=02/01/2012
.Поскольку дни не на английском языке, они, вероятно, отформатированы как год / месяц / день.
for /f %%i in ('echo %date_day:/=-%') do set DATE_DAY=%%i
Это удаляет /
с даты и заменяет его на -
, так что ваш вывод02-01-2012
в отличие от 02/01/2012
for /f %%i in ('time /t') do set DATE_TIME=%%i
for /f %%i in ('echo %date_time::=-%') do set DATE_TIME=%%i
Это то же самое, что и первая часть, за исключением захвата формата времени.Вторая строка заменяет двоеточия :
тире -
.
"C:\Program Files\xampp\mysql\bin\mysqldump" -u root mamzel > "C:\Program Files\xampp\mysql\bin\%DATE_DAY%_%DATE_TIME%_mamzel10.sql"
. Затем используются новые форматы даты и времени, чтобы вывести их в файл дампа с временной меткой.