Как указано в других ответах, пробелы в конце команды set
являются значительными, поэтому, если вы введете
set foo=hello & echo test
или даже
set foo=hello␣
(где ␣
представляет пробел), %foo%
устанавливается в строку из шести символов h
, e
, l
, l
, o
,
,
У меня была аналогичная проблема с пространством , когда echo
ИНГ строку выходного файла.
Не удивительно (в свете вышесказанного),
echo hello >myfile
записывает шестизначную строку h
, e
, l
, l
, o
,
(плюс CR и LF) в файл, в то время как
echo hello> myfile
не включает пространство
Но пробелы в конце командной строки остаются проблемой.
Если по какой-то причине вы говорите
echo hello>myfile␣
тогда вы получите пробел в конце вывода.
Когда я удалил пробел после имени файла, пробел в конце вывода исчез.
Странно, но это сработало для меня.