Jeda File Batch

1

Saya sedang menguji file batch dan saya berhenti untuk memeriksa apakah script berfungsi dengan baik.

Pertanyaan saya adalah, jika skrip menemukan jeda, dan saya mengubah skrip, baik menambahkan baris atau mengambilnya, menyimpannya, dan menekan tombol untuk melanjutkan, apakah perubahan saya juga memuat atau apakah saya harus menjalankan file batch lagi agar perubahan saya diterapkan?


sumber

Jawaban:

3

Apa yang terjadi jika saya mengubah file batch saat itu pause d

Perubahan dibuat ke file batch setelah itu pause pernyataan tercermin dalam hasil.

Perubahan dibuat ke file batch sebelum itu pause pernyataan diabaikan, asalkan mereka tidak mengubah jumlah karakter. Lihat jawaban oleh sgmoore untuk alasan mengapa.

DavidPostill
sumber
Jadi, secara teknis saya tidak perlu menjalankan file batch saya lagi? Tekan saja tombol apa saja untuk melanjutkan.
Ya, tunduk pada batasan di atas.
DavidPostill
2

Perubahan yang dibuat ke file batch setelah pernyataan jeda baik-baik saja dan akan berlaku ketika Anda menekan terus untuk melanjutkan.

Tapi saya akan melakukannya dengan kuat disarankan Anda lakukan tidak ubah apapun sebelum pernyataan jeda.

Windows mengingat di posisi apa ia berada, jadi perubahan yang dilakukan pada file batch sebelum pernyataan jeda dapat memengaruhi file batch Anda dengan cara yang aneh dan dapat menyebabkan masalah serius.

Misalnya, jika Anda memiliki file batch sepele yang berfungsi seperti itu

@Rem 
@Echo "Hello"
pause
@Echo  Dir c:\windows

Ketika jeda dieksekusi, windows menganggap itu pada byte ke 27 file. Jika Anda menghapus baris pertama, maka karena Anda telah menghapus lima karakter, semuanya digeser, tetapi ketika Anda menekan tombol apa saja, windows akan melanjutkan dari karakter ke-27.

Jadi alih-alih mengeluarkan perintah

 @Echo  Dir c:\windows 

itu mengeluarkan a

 Dir c:\windows

Sekarang bayangkan apa yang akan terjadi jika bets asli Anda berkata

@Echo Del c:\windows
sgmoore
sumber
HA! Tangkapan yang bagus. Tidak pernah memikirkan itu.