Когда set
связывает переменные со значениями, вам необходимо учитывать, как они интерпретируются Windows cmd
Пример:
set variable = value
Это будет интерпретироваться от начала variable
до конца value
Итак, приведенный выше пример, теперь у вас есть переменная %variable %
(обратите внимание на конечный пробел) и значение value
(примечание ведущие пробелы). Поэтому, если вы попытаетесь echo %variable%
, он вернет %variable%
, так как переменная никогда не была установлена, где echo %variable %
вернет значение, но все еще с начальным пробелом, который нам не нужен.
Следовательно, между переменной и =
не должно быть пробелов, а между =
и значением не должно быть пробелов. Кроме того, лучше всего обернуть всю переменную строку в двойные кавычки, чтобы убедиться, что у вас нет конечных пробелов в значении, поэтому, наконец, вам нужно будет сделать:
set "inputdate='2019-04-29'"