วิธีการเขียน Batch Script บน Windows

คุณรู้วิธีใช้ Command Prompt หรือไม่? ถ้าคุณทำคุณสามารถเขียนไฟล์แบตช์ ในรูปแบบที่ง่ายที่สุดไฟล์แบตช์ (หรือสคริปต์ชุดงาน) คือรายการของคำสั่งต่างๆที่ดำเนินการเมื่อคุณดับเบิลคลิกที่ไฟล์ ไฟล์แบตช์กลับไปที่ DOS ทั้งหมด แต่ยังคงใช้งานได้กับ Windows รุ่นใหม่ ๆ

สคริปต์ PowerShell และสคริปต์ Bash อาจมีประสิทธิภาพมากกว่า แต่ไฟล์แบตช์ยังคงมีประโยชน์มากมายหากคุณต้องการเรียกใช้คำสั่งพื้นฐานของ Windows

ข้อมูลเบื้องต้นเกี่ยวกับไฟล์แบทช์

ไฟล์แบตช์เป็นเพียงไฟล์ข้อความที่บันทึกด้วยนามสกุลไฟล์. bat คุณสามารถเขียนได้โดยใช้ Notepad หรือโปรแกรมแก้ไขข้อความขั้นสูงเช่น Notepad ++ แต่อย่าใช้โปรแกรมประมวลผลคำเช่น Microsoft Word

มาสร้างไฟล์แบตช์ง่ายๆ ขั้นแรกให้เปิด Notepad พิมพ์บรรทัดต่อไปนี้:

ECHO OFF ECHO สวัสดีชาวโลกหยุดชั่วคราว

จากนั้นบันทึกไฟล์โดยคลิกไฟล์> บันทึก ตั้งชื่อตามที่คุณต้องการ แต่แทนที่นามสกุลไฟล์. txt เริ่มต้นด้วยนามสกุล. bat

hello_world.batตัวอย่างเช่นคุณอาจต้องการที่จะตั้งชื่อมันว่า

ตอนนี้คุณมีไฟล์แบตช์ที่มีนามสกุลไฟล์. bat ดับเบิลคลิกเพื่อเรียกใช้ ไฟล์แบตช์เฉพาะนี้ตั้งค่า ECHO ปิด (ซึ่งจะล้างเอาต์พุตโดยซ่อนคำสั่งไม่ให้พิมพ์ที่พรอมต์พิมพ์ข้อความ“ Hello World” ไปที่หน้าจอจากนั้นรอให้คุณกดปุ่มก่อนที่จะสิ้นสุด

หากคุณไม่ได้เพิ่มลงPAUSEในไฟล์ไฟล์แบตช์จะเรียกใช้คำสั่งจากนั้นปิดโดยอัตโนมัติ ในกรณีนี้มันจะพิมพ์“ Hello World” ไปที่หน้าต่างจากนั้นปิดหน้าต่างพร้อมรับคำสั่งทันที เมื่อคุณต้องการเรียกใช้คำสั่งอย่างรวดเร็วโดยไม่เห็นผลลัพธ์คุณสามารถละเว้นสิ่งนี้ได้ หากคุณใช้คำสั่งหลายคำสั่งคุณสามารถวางPAUSEคำสั่งไว้ระหว่างคำสั่งเหล่านั้นได้

การเขียนไฟล์แบทช์ที่ซับซ้อนมากขึ้น

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

ตัวอย่างเช่นสมมติว่าเราต้องการเขียนไฟล์แบตช์ที่รันคำสั่งวินิจฉัยเครือข่ายหลายคำสั่ง เราอาจต้องการเรียกใช้ipconfig /allเพื่อดูข้อมูลเครือข่ายping google.comเพื่อดูว่าเซิร์ฟเวอร์ของ Google ตอบสนองหรือไม่และtracert google.comเรียกใช้ traceroute ไปยัง google.com และดูว่ามีปัญหาระหว่างทางหรือไม่

ในรูปแบบพื้นฐานที่สุดเราสามารถวางคำสั่งทั้งหมดไว้ในไฟล์แบตช์ทีละคำสั่งได้ดังนี้:

ipconfig / ping ทั้งหมด google.com tracert google.com หยุดชั่วคราว

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

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

คุณอาจต้องการเพิ่มคำสั่ง“ ECHO OFF” ที่จุดเริ่มต้นของไฟล์ โดยทั่วไปจะเพิ่มในส่วนเริ่มต้นของไฟล์แบตช์ส่วนใหญ่ เมื่อคุณทำเช่นนี้คำสั่งนั้นจะไม่ถูกพิมพ์ไปยัง Command Prompt แต่ผลลัพธ์จะเป็นเช่นนั้น ตัวอย่างเช่นคุณจะเห็นรายละเอียดการเชื่อมต่อเครือข่าย แต่ไม่ใช่บรรทัด“ ipconfig / all” คนส่วนใหญ่ไม่สนใจที่จะเห็นคำสั่งดังนั้นสิ่งนี้สามารถล้างผลลัพธ์ได้

นี่คือสิ่งที่อาจมีลักษณะดังนี้:

:: ไฟล์แบตช์นี้ตรวจสอบปัญหาการเชื่อมต่อเครือข่าย ปิด ECHO :: ดูรายละเอียดการเชื่อมต่อเครือข่าย ipconfig / ทั้งหมด :: ตรวจสอบว่า Google.com เข้าถึงได้หรือไม่ ping google.com :: เรียกใช้ traceroute เพื่อตรวจสอบเส้นทางไปยัง Google.com tracert google.com หยุดชั่วคราว

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

:: ไฟล์แบตช์นี้ตรวจสอบปัญหาการเชื่อมต่อเครือข่าย :: และบันทึกผลลัพธ์เป็นไฟล์. txt ปิด ECHO :: ดูรายละเอียดการเชื่อมต่อเครือข่าย ipconfig / all >> results.txt :: ตรวจสอบว่า Google.com สามารถเข้าถึงได้ ping google.com >> results.txt :: เรียกใช้ traceroute เพื่อตรวจสอบเส้นทางไปยัง Google.com tracert google com >> results.txt

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

ตัวอย่างที่เราใช้ข้างต้นอาศัยการพิมพ์ข้อมูลไปยัง Command Prompt เพื่อให้ผู้ใช้สามารถอ่านได้ อย่างไรก็ตามไฟล์แบตช์จำนวนมากได้รับการออกแบบให้เรียกใช้แบบไม่โต้ตอบ ตัวอย่างเช่นคุณอาจมีไฟล์แบตช์ที่ลบไฟล์หรือไดเรกทอรีหลาย ๆ ไฟล์เมื่อใดก็ตามที่คุณคลิกสองครั้ง คุณต้องใช้delคำสั่งเพื่อลบไฟล์หรือdeltreeคำสั่งเพื่อลบไดเร็กทอรี จำไว้ว่าคุณแค่ใช้คำสั่งเดียวกับที่คุณเรียกใช้ในหน้าต่างพรอมต์คำสั่ง

โดยพื้นฐานแล้วนั่นคือจุดสำคัญของไฟล์แบตช์ส่วนใหญ่เพียงแค่เรียกใช้คำสั่งสองสามคำสั่งทีละคำ อย่างไรก็ตามไฟล์แบตช์อาจซับซ้อนกว่านี้อย่างมาก ตัวอย่างเช่นคุณสามารถใช้คำสั่ง“ IF” ร่วมกับคำสั่ง“ GOTO” เพื่อตรวจสอบค่าของบางสิ่งจากนั้นข้ามไปยังบรรทัดต่างๆโดยขึ้นอยู่กับผลลัพธ์ นี่เหมือนกับการเขียนโปรแกรมขนาดเล็กจริง ๆ มากกว่าสคริปต์ที่รวดเร็วและสกปรก นั่นเป็นเหตุผลหนึ่งที่ทำให้บางครั้งไฟล์. bat ถูกเรียกว่า "โปรแกรมแบตช์" หากคุณต้องการทำสิ่งที่ซับซ้อนมากขึ้นคุณจะพบคำแนะนำมากมายเกี่ยวกับการทำสิ่งที่เฉพาะเจาะจงด้วยการเขียนโปรแกรมแบบเป็นกลุ่มทางออนไลน์ แต่ตอนนี้คุณรู้พื้นฐานของวิธีการง่ายๆเข้าด้วยกันแล้ว