Ich glaube, ich bin auf einen Fehler in einer Batchdatei gestoßen, weil er mit Unix-Zeilenenden geschrieben wurde. Ist dies ein bekanntes Problem mit cmd.exe, das Batchdateien in Windows ausführt?
Ich glaube, ich bin auf einen Fehler in einer Batchdatei gestoßen, weil er mit Unix-Zeilenenden geschrieben wurde. Ist dies ein bekanntes Problem mit cmd.exe, das Batchdateien in Windows ausführt?
Antworten:
Dies ist wirklich kein "Bug" ... da es von Natur aus ist. Windows-Zeilenumbrüche sind definiert als "\ r \ n" ... oder eine Kombination aus "Wagenrücklauf" und "Neue Zeile" ... während * nix-Varianten den Wagenrücklauf lieber weglassen. Sie sollten in Windows nach Möglichkeit immer "\ r \ n" verwenden. Alles andere kann falsch interpretiert werden ... und zu vielen unerwarteten Ergebnissen führen.
Bei Batch-Dateien scheint es keinen Unterschied zwischen Unix-Zeilenenden und Windows-Zeilenenden zu geben.
goto
, call
oder sogar das Erstellen von Zeilenvorschubvariablen funktioniert mit beiden Stilen.
Und da der Batch-Parser die Zeilenumbrüche direkt nach der prozentualen Expansionsphase entfernt, werden sie niemals eine große Rolle spielen.