Можно я попробую.
Сам не писал скрипты для микротика, но писал для других систем. Давайте посмотрим на строки:
1) :global thisdate [/system clock get date]
2) :global time [/system clock get time]
3) :global datetimestring ([:pick $thisdate 0 3] ."-" . [:pick $thisdate 4 6] ."-" . [:pick $thisdate 7 11])
1) Мы получаем дату и запихиваем ее в переменную в каком то виде
2) В переменную time мы просто запихиваем время в каком то виде
3) В переменную datetimestring мы ФОРМАТИРУЕМ и запихиваем дату в нужном нам виде.
Следовательно, нам нужно то же самое проделать и со временем. Что бы сделал Я =)
1) Создал переменную по типу:
:global timestring
2) обработал бы правилом, как указал товарищ выше - ([:pick $thisdate 0 3] ."-" . [:pick $thisdate 4 6] ."-" . [:pick $thisdate 7 11])
Если pick - это вырез подстроки заданного диапазона из переменной (thisdate ), то можно понять что с начала вырезается с 0 по 3 символ, объединяется с символом " - " , дальше с 4 по 6 символ из переменной , потом объединяем его с " - " , и потом берем последнюю часть с 7 по 11 символ и объединяем его с " - ".
Вроде пока понятно ??
ТОгда, ПО ВАШИМ словам , если переменная time выдает 00:00:00, где допустим ЧЧ.ММ.СС впрочем не важно, то для модификации вам надо добавить строку после time
:global timestring ([:pick $thisdate 0 1] ."-" . [:pick $thisdate 3 4] ."-" . [:pick $thisdate 6 7])
И далее поправить строку формирования имени выходного файла :
Было так -
:global backupfilename ([/system identity get name]."_".$datetimestring."_$time")
Станет так -
:global backupfilename ([/system identity get name]."_".$datetimestring."_$timestring ")
Попробуйте