Saya pikir saya menemukan bug dalam file batch karena ditulis dengan akhiran baris unix. Apakah ini masalah yang diketahui dengan cmd.exe menjalankan file batch di windows?
Saya pikir saya menemukan bug dalam file batch karena ditulis dengan akhiran baris unix. Apakah ini masalah yang diketahui dengan cmd.exe menjalankan file batch di windows?
Jawaban:
Ini benar-benar bukan "bug" ... karena itu adalah desain. Windows baris baru didefinisikan sebagai "\ r \ n" ... atau kombinasi "Carriage Return" dan "New Line" ... sedangkan * nix flavours lebih suka menghilangkan carriage return. Anda harus selalu menggunakan "\ r \ n" di apa pun di Windows jika memungkinkan. Yang lain mungkin ditafsirkan salah ... dan menyebabkan banyak hasil yang tidak terduga.
Untuk file batch sepertinya tidak ada perbedaan antara ujung baris unix dan ujung baris windows.
goto
, call
atau bahkan pembuatan variabel linefeed bekerja dengan kedua gaya.
Dan karena pengurai batch menghapus pengembalian carriage langsung setelah fase ekspansi persen, mereka tidak akan pernah memainkan peran besar.