🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

บทนำสู่การสร้างไฟล์แบตช์ (.bat): ทำให้งานเป็นอัตโนมัติได้ง่ายๆ แค่คลิก

ในบทความที่แล้ว เราได้เรียนรู้ 10 คำสั่งพื้นฐานของ Command Prompt กันไปแล้ว ไม่ว่าจะเป็นการใช้ dir เพื่อตรวจสอบเนื้อหา, cd เพื่อย้ายตำแหน่ง, และ copy เพื่อทำสำเนาไฟล์... แม้แต่ละคำสั่งจะดูเรียบง่าย แต่คงจะพอเข้าใจกันแล้วว่ามันเป็นเครื่องมือที่ทรงพลังมาก

แต่การต้องมานั่งพิมพ์ชุดคำสั่งเดิมๆ ซ้ำๆ บนจอสีดำทุกครั้งก็อาจจะน่าเบื่อไปหน่อยใช่ไหมครับ คุณเคยคิดบ้างไหมว่า "ถ้างานที่ทำซ้ำๆ แบบนี้ กดปุ่มเดียวแล้วทำได้เลยก็ดีสินะ..."? สิ่งที่จะมาช่วยให้ความปรารถนานั้นเป็นจริงก็คือเทคโนโลยีการทำงานอัตโนมัติแบบดั้งเดิมของ Windows ที่สืบทอดกันมาอย่างยาวนาน นั่นก็คือ ไฟล์แบตช์ (.bat) นั่นเอง

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


1. ไฟล์แบตช์คืออะไร? - "คู่มือการทำงาน" ของคำสั่ง

ไฟล์แบตช์ พูดง่ายๆ ก็คือ "ไฟล์ข้อความที่เขียนลำดับของคำสั่งที่ต้องการรันใน Command Prompt" นั่นเอง การตั้งนามสกุลไฟล์เป็น .bat จะทำให้ Windows รู้จักไฟล์นั้นในฐานะ "โปรแกรมที่รันได้"

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

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


2. การสร้างไฟล์แบตช์ครั้งแรก - Hello, World!

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

ขั้นตอนที่ 1: เขียนคำสั่งในโปรแกรมแก้ไขข้อความ

เปิดโปรแกรมแก้ไขข้อความเช่น "Notepad" ขึ้นมา แล้วพิมพ์ 3 บรรทัดต่อไปนี้

@echo off
echo Hello, Batch File World!
pause

ขั้นตอนที่ 2: บันทึกไฟล์ด้วยนามสกุล ".bat"

นี่คือจุดที่สำคัญที่สุด เวลาบันทึกไฟล์ ให้ทำตามขั้นตอนต่อไปนี้

  1. จากเมนู "File" เลือก "Save As"
  2. เปลี่ยน "Save as type" เป็น "All Files (*.*)"
  3. ในช่อง File name ให้ตั้งชื่อไฟล์พร้อมนามสกุล .bat เสมอ เช่น "hello.bat"

บันทึกไว้ในที่ที่หาง่าย เช่น บนเดสก์ท็อป

ขั้นตอนที่ 3: ดับเบิลคลิกเพื่อรัน

ลองดับเบิลคลิกที่ไอคอนไฟล์ hello.bat ที่คุณบันทึกไว้ดูสิครับ หน้าต่าง Command Prompt สีดำจะเปิดขึ้นมาและแสดงข้อความ ถ้าเป็นแบบนั้นก็ถือว่าสำเร็จ!

Hello, Batch File World!
Press any key to continue . . .

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


3. วิธีเขียนไฟล์แบตช์ให้สะดวกยิ่งขึ้น

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

ใช้คอมเมนต์เพื่อบันทึกรายละเอียดของโค้ด (`rem`)

บรรทัดที่ขึ้นต้นด้วย rem (Remark) จะถูกมองว่าเป็นคอมเมนต์และจะถูกข้ามไปตอนรันโปรแกรม ใช้เพื่ออธิบายว่าโค้ดส่วนนั้นทำอะไร เพื่อให้ตัวเองกลับมาอ่านในภายหลังหรือให้คนอื่นอ่านแล้วเข้าใจได้ง่ายขึ้น

rem นี่คือคอมเมนต์ บรรทัดนี้จะไม่ถูกรัน
echo บรรทัดนี้จะถูกรัน

การใช้ตัวแปร (`set` และ `%ชื่อตัวแปร%`)

หากต้องการใช้ค่าเดิมซ้ำๆ หลายครั้ง การเก็บไว้ในตัวแปรจะสะดวกมาก เราจะใช้คำสั่ง set เพื่อกำหนดตัวแปร และใช้ %ชื่อตัวแปร% เพื่อเรียกค่าของมันออกมา

@echo off
set USER_NAME=Taro
echo Hello, %USER_NAME%!
pause

ตัวอย่างสคริปต์อัตโนมัติที่ใช้ได้จริง

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

ตัวอย่างที่ 1: สร้างโครงสร้างโฟลเดอร์โปรเจกต์เว็บในคลิกเดียว

ทำให้งานสร้างโฟลเดอร์ css, js, images ด้วยมือทุกครั้งที่เริ่มโปรเจกต์ใหม่เป็นอัตโนมัติ

@echo off
rem --- แบตช์ไฟล์สำหรับสร้างโฟลเดอร์เริ่มต้นของโปรเจกต์เว็บ ---

rem ระบุชื่อโปรเจกต์
set PROJECT_NAME=MyNewWebsite

echo กำลังสร้างโฟลเดอร์ %PROJECT_NAME%...

mkdir "%PROJECT_NAME%"
mkdir "%PROJECT_NAME%\css"
mkdir "%PROJECT_NAME%\js"
mkdir "%PROJECT_NAME%\images"

echo.
echo สร้างด้วยโครงสร้างโฟลเดอร์ต่อไปนี้:
tree /F "%PROJECT_NAME%"
echo.
echo เสร็จเรียบร้อย!
pause

แค่เอาไฟล์แบตช์นี้ไปวางไว้บนเดสก์ท็อป พอมีงานใหม่เข้ามาก็แค่แก้ส่วน PROJECT_NAME แล้วดับเบิลคลิก โครงสร้างโปรเจกต์ก็จะพร้อมใช้งานในทันที


ตัวอย่างที่ 2: สร้างโฟลเดอร์ตามวันที่แล้วสำรองข้อมูลไฟล์

เป็นสคริปต์สำหรับสำรองไฟล์งานสำคัญไปยังโฟลเดอร์ตามวันที่ การใช้ตัวแปรพิเศษอย่าง %date% จะทำให้สามารถดึงวันที่ของวันที่รันโปรแกรมมาใช้ได้โดยอัตโนมัติ

@echo off
rem --- สำรองข้อมูลไฟล์ไปยังโฟลเดอร์ของวันที่ปัจจุบัน ---

rem ดึงวันที่ในรูปแบบ YYYY-MM-DD
set TODAY=%date:~0,4%-%date:~5,2%-%date:~8,2%

rem ระบุพาธของโฟลเดอร์ปลายทาง
set BACKUP_DIR="D:\backups\%TODAY%"

echo กำลังสำรองข้อมูลไปยัง %BACKUP_DIR%...
mkdir %BACKUP_DIR%

rem ระบุพาธของไฟล์ที่ต้องการคัดลอก
copy "C:\path\to\important_file.docx" %BACKUP_DIR%

echo การสำรองข้อมูลเสร็จสมบูรณ์
explorer %BACKUP_DIR%
pause

ในตัวอย่างนี้ เรายังได้เพิ่มลูกเล่นเล็กๆ น้อยๆ โดยใช้คำสั่ง explorer เพื่อเปิดโฟลเดอร์ที่สร้างไฟล์สำรองข้อมูลไว้ใน File Explorer ตอนท้ายด้วยครับ


สรุป

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

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

เมื่อได้สัมผัสโลกของ Command Prompt และไฟล์แบตช์แล้ว ความสงสัยที่ว่า "แล้ว PowerShell ตัวใหม่ล่าสุดมันต่างกันตรงไหน, มากน้อยแค่ไหนกันนะ?" คงจะยิ่งลึกซึ้งขึ้นใช่ไหมครับ ในบทความหน้า เราจะมาเปรียบเทียบและอธิบายความแตกต่างนั้นกันอย่างละเอียด!

ความแตกต่างกับ PowerShell: เหตุผลที่ควรเลิกใช้ cmd คืออะไร?