Я думаю, что наткнулся на ошибку в командном файле, потому что он был написан с окончанием строки Unix. Это известная проблема с cmd.exe запускать командные файлы в Windows?
windows
batch-file
cmcginty
источник
источник
Ответы:
Это на самом деле не "ошибка" ... так как это дизайн. Новые строки Windows определяются как "\ r \ n" ... или комбинация "Возврат каретки" и "Новая строка" ... тогда как разновидности * nix предпочитают опускать возврат каретки. Вы всегда должны использовать «\ r \ n» в любом месте Windows, где это возможно. Все остальное может быть неверно истолковано ... и привести к неожиданным результатам.
источник
Это кажется , что пакетные метки пропускаются при
LF
(Unix строки окончание) используется в.bat
файле.источник
Для пакетных файлов нет никакой разницы между окончаниями строк Unix и окончаниями строк Windows.
goto
,call
Или даже создание переменных перевода строки работает с обоими стилями.А так как пакетный парсер удаляет возврат каретки сразу после фазы расширения процента, они никогда не будут играть большую роль.
источник