Грэм, ваш код в настоящее время не использует рекомендуемый синтаксис, и, следовательно, это ваша проблема.
Если вы SET RAt = "04:15"
, вы устанавливаете переменную с именем % R A t % до значения " 0 4 : 1 5 ".
Когда вы Set
переменную, рекомендуется не включать двойные кавычки как часть значения, а делать это во время фактического использования, то есть "%VariableName%"
. Чтобы защитить определенные символы в VariableValue или предотвратить добавление скрытого пробела к значению, рекомендуется окружать пару переменных двойными кавычками
Поэтому рекомендуемый синтаксис для команды Set
:
Set "VariableName=VariableValue"
Я бы посоветовал вам рассмотреть следующий тип изменений, основанный на приведенном выше совете:
SET "RAt=04:15"
SET "RHour=%RAt:~,2%" % or ~0,2 % % or ~-5,2 %
SET "RMin=%RAt:~-2%" % or ~3,2 %
Конечно, если содержимое переменной действительно уже в двойных кавычках:
SET "RHour=%RAt:~1,2%" % or ~-6,2 %
SET "RMin=%RAt:~-3,2%" % or ~4,2 %
Строки в конце строк набора между символами процента являются альтернативами в качестве комментариев, их можно удалить