Batch File Pause


1

ฉันกำลังทดสอบแบตช์ไฟล์และฉันหยุดชั่วคราวเพื่อตรวจสอบอีกครั้งว่าสคริปต์ทำงานได้อย่างถูกต้อง

คำถามของฉันคือถ้าสคริปต์หยุดชั่วคราวและฉันเปลี่ยนสคริปต์เพิ่มบรรทัดหรือนำออกบันทึกและกดปุ่มเพื่อดำเนินการต่อการเปลี่ยนแปลงของฉันจะโหลดหรือฉันต้องเรียกใช้ไฟล์แบตช์ อีกครั้งเพื่อให้การเปลี่ยนแปลงของฉันมีผล

คำตอบ:


3

จะเกิดอะไรขึ้นถ้าฉันเปลี่ยนแบตช์ไฟล์เมื่อมันเป็นpaused

การเปลี่ยนแปลงที่เกิดขึ้นกับแฟ้มชุดหลังจากpauseคำสั่งจะสะท้อนให้เห็นในผลการค้นหา

การเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์แบตช์ก่อนที่pauseคำสั่งจะถูกละเว้นหากไม่เปลี่ยนแปลงจำนวนตัวอักษร ดูคำตอบโดยsgmooreด้วยเหตุผลว่าทำไม


ดังนั้นในทางเทคนิคแล้วฉันไม่ต้องเรียกใช้ไฟล์แบตช์อีกครั้ง เพียงกดปุ่มใดก็ได้เพื่อดำเนินการต่อ

ใช่ขึ้นอยู่กับข้อ จำกัด ข้างต้น
DavidPostill

2

การเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์แบตช์หลังจากคำสั่งหยุดชั่วคราวนั้นใช้ได้และจะมีผลเมื่อคุณกดปุ่มใด ๆ เพื่อดำเนินการต่อเพื่อดำเนินการต่อ

แต่ฉันขอแนะนำอย่างยิ่งว่าคุณจะไม่เปลี่ยนแปลงสิ่งใดก่อนคำสั่งหยุด

Windows จดจำตำแหน่งที่เป็นดังนั้นการเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์แบตช์ก่อนที่คำสั่งหยุดชั่วคราวอาจส่งผลกระทบต่อไฟล์แบทช์ของคุณในรูปแบบแปลก ๆ และอาจทำให้เกิดปัญหาร้ายแรง

ตัวอย่างเช่นหากคุณมีไฟล์แบทช์เล็ก ๆ น้อย ๆ ที่ทำสิ่งที่ต้องการ

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

เมื่อหยุดการทำงานชั่วคราว windows จะนับว่าอยู่ที่ 27 ไบต์ของไฟล์ หากคุณลบบรรทัดแรกออกเนื่องจากคุณลบอักขระได้ห้าตัวทุกอย่างจะถูกเปลี่ยน แต่เมื่อคุณกดปุ่มใด ๆ หน้าต่างจะดำเนินต่อไปจากอักขระที่ 27

ดังนั้นแทนที่จะออกคำสั่ง

 @Echo  Dir c:\windows 

มันออก

 Dir c:\windows

ตอนนี้ลองนึกภาพว่าจะเกิดอะไรขึ้นถ้าแบทช์ดั้งเดิมของคุณพูด

@Echo Del c:\windows

ฮา! จับดี. ไม่เคยคิดอย่างนั้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.