Я заметил очень странное поведение при попытке записать текст в файл без новой строки. Везде есть код, который выглядит так:
echo|set /p=foo > foo.txt
Это прекрасно работает, но моя система сборки не работает, потому что, когда я оцениваю% ERRORLEVEL%, я получаю 1 после вызова:
echo %ERRORLEVEL%
echo |set /p=foo>foo.txt
echo %ERRORLEVEL%
возвращается
D:\>echo 0
0
D:\>echo | set /p=foo 1>foo.txt
D:\>echo 1
1
Это известное поведение? set
становится придирчивым , потому что нет ни одной переменной , чтобы установить?
Примечание. Повторяемый код echo |set /p=foo>foo.txt
фактически является echo | set /p=foo 1>foo.txt