Myślę, że natrafiłem na błąd w pliku wsadowym, ponieważ został napisany z zakończeniami linii uniksowej. Czy to znany problem z uruchamianiem plików wsadowych w cmd.exe w systemie Windows?
windows
batch-file
cmcginty
źródło
źródło
Odpowiedzi:
To naprawdę nie jest „błąd” ... ponieważ jest zgodny z projektem. Nowe wiersze w systemie Windows są zdefiniowane jako „\ r \ n” ... lub kombinacja „Zwrot karetki” i „Nowa linia” ... podczas gdy smaki * nix wolą pominąć znak powrotu karetki. Zawsze należy używać „\ r \ n” w dowolnym systemie Windows, jeśli to możliwe. Wszystko inne może być interpretowane niepoprawnie ... i powodować wiele nieoczekiwanych rezultatów.
źródło
To wydaje się , że partia etykiety są pomijane, gdy
LF
jest używany (Unix line-kończąc) w.bat
pliku.źródło
W przypadku plików wsadowych wydaje się, że nie ma różnicy między zakończeniami linii uniksowych a zakończeniami linii systemu Windows.
goto
,call
a nawet tworzenie zmiennych wysuwu linii działa z oboma stylami.A ponieważ parser partii usuwa powroty karetki bezpośrednio po fazie rozszerzenia procentowego, nigdy nie będą odgrywać dużej roli.
źródło