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