Penso di aver riscontrato un bug in un file batch perché è stato scritto con terminazioni di riga unix. È un problema noto con cmd.exe che esegue file batch in Windows?
Penso di aver riscontrato un bug in un file batch perché è stato scritto con terminazioni di riga unix. È un problema noto con cmd.exe che esegue file batch in Windows?
Risposte:
Questo non è davvero un "bug" ... in quanto è di progettazione. Le nuove righe di Windows sono definite come "\ r \ n" ... o una combinazione "Ritorno a capo" e "Nuova riga" ... mentre i gusti * nix preferiscono omettere il ritorno a capo. Dovresti sempre usare "\ r \ n" in qualsiasi cosa in Windows ove possibile. Qualsiasi altra cosa può essere interpretata in modo errato ... e causare molti risultati inaspettati.
Per i file batch non sembra esserci alcuna differenza tra le terminazioni di linea unix e le terminazioni di linea di Windows.
goto
, call
o anche la creazione di variabili di avanzamento riga funziona con entrambi gli stili.
E poiché il parser batch rimuove i ritorni a capo direttamente dopo la fase di espansione percentuale, non avranno mai un ruolo importante.