โดยปกติคำสั่งที่ใช้กับระบบคอมพิวเตอร์โดยยเฉพาะ OS ที่เป็น DOS จะมีคำสั่งที่สามารถสั่งให้คอมพิวเตอร์ทำงานได้อยู่ 3 ประเภท คือ Command File (คอมมาน ไฟล์) (.com), Execute File (เอ็กคิว ไฟล์) (.exe) และ Batch File (แบทไฟล์) (.bat)
Command File (คอมมาน ไฟล์) และ Execute File (เอ็กคิว ไฟล์) เป็น File (ไฟล์) ที่บรรจุคำสั่งที่เป็นรหัสเลขฐานสอง หรือ เรียกกันว่า ภาษาเครื่อง Machine Code (แมทชีน โค้ด) ซึ่งผู้ใช้งาน ไม่สามารถอ่านได้เข้าใจ หรือ รู้เรื่องได้
Batch File เป็น File ที่รวบรวมและเรียบเรียงชุดคำสั่ง ภายใน และ ภายนอก ที่สั่งให้คอมพิวเตอร์ ทำงานตามที่ต้องการ ซึ่งใช้รหัส ASCII (แอสกี้) ที่เป็นภาษาธรรมดาที่ผู้ใช้สามารถอ่านได้เข้าใจ โดยผู้ใช้สามารถเขียน Batch File เพื่อสร้างชุดคำสั่งที่ต้องการได้ตามประสงค์ เพียงแต่เรียนรู้หลักการเขียน และ คำสั่งที่สามารถใช้ได้ ใน Batch File โดย File ที่ถูกสร้างขึ้นมาจะมี นามสกุลของไฟล์ File Extension (ไฟล์ เอ็กเทนชัน) เป็น " .bat " โดยที่ Batch File นี้สามารถติดต่อกับ Batch File อื่น หรือ รับ-ส่ง ตัวแปร เข้าสู่ หรือ ออกจาก Batch File ได้ เช่นเดียวกันกับแนวคิดของการเขียนโปรแกรมทุกประการ เพียงแต่โปรแกรมที่เป็น Batch File นี้ ระบบคอมพิวเตอร์สามารถประมวลผลคำสั่งที่บรรจุอยู่ใน Batch File นี้ได้ทันทีโดยไม่ต้องมีการ Compile (คอมไพล์) ไปเป็นภาษาเครื่องอีก เนื่องจากเป็นคำสั่งที่ ระบบปฎิบัติการ รู้จักอยู่แล้ว
คำสั่งที่ใช้ใน batch ได้แบ่งเป็น 2 ประเภท คือ
คำสั่งภายนอก : คือพวกไฟล์ที่สามารถเรียกให้ทำงานได้ เช่น ไฟล์ที่มีนามสกุล เช่น .com, .exe, .msi
คำสั่งภายใน : คำสั่งพวกนี้จะสามารถเรียกใช้งานได้ทันทีครับ จะไม่มีไฟล์ให้เรียก เช่นคำสั่ง copy, dir, cls, cd, del
การสร้าง Batch File
เปิด notepad ขึ้นมาแล้วพิมพ์ตามนี้
Code: Select all
@echo off
cls
echo Batch File Test
echo Open notepad
pause
notepad.exe
cls
echo Thank You
pause
ทดสอบ run ผ่าน Command Prompt
Code: Select all
C:\> test.bat
@echo off คำสั่งภายใน : ถ้าใส่ @ จะไม่แสดงข้อความ off แต่ถ้าไม่ใส่ @ ก็จะแสดงข้อความ off
cls คำสั่งภายใน : ทำการ clear หน้าจอให้ว่าง
echo Batch File Test คำสั่งภายใน : ทำการแสดงข้อความ Batch File Test ออกทางหน้าจอ
echo Open notepad คำสั่งภายใน : ทำการแสดงข้อความ Open notepad ออกทางหน้าจอ
pause คำสั่งภายใน : หยุดรอรับคำสั่งจาก keyboard โดยจะขึ้นข้อความ Press any key to continue . . .
notepad.exe คำสั่งภายนอก : เรียกโปรแกรม notepad.exe ของ windows
cls คำสั่งภายใน : ทำการ clear หน้าจอให้ว่าง
echo Thank You คำสั่งภายใน : ทำการแสดงข้อความ Thank You ออกทางหน้าจอ
pause คำสั่งภายใน : หยุดรอรับคำสั่งจาก keyboard โดยจะขึ้นข้อความ Press any key to continue . . .
คำสั่งที่ใช้ใน Batch File
Code: Select all
cls ล้างจอภาพ (Clear Screen)
Code: Select all
@echo off ไม่แสดงการทำงานของคำสั่งใน Batch File
Code: Select all
dir /? แสดงคำแนะนำการใช้คำสั่ง dir
Code: Select all
dir > a นำผลการแสดงรายชื่อแฟ้ม ไปใส่ไว้ในแฟ้ม a
Code: Select all
dir a แสดงรายละเอียดของแฟ้ม a เช่น ขนาดแฟ้ม วันที่ที่สร้าง
Code: Select all
echo aa แสดงตัวอักษร aa ทางจอภาพ
Code: Select all
echo aa > a.bat สร้างแฟ้ม a.bat ที่มีตัวอักษา 2 ตัว แต่แฟ้มจะมีขนาด 4 bytes
Code: Select all
echo aa >> a.bat เพิ่มตัวอักษรอีก 2 ตัวต่อท้ายแฟ้ม a.bat
Code: Select all
type a.bat แสดงข้อมูลในแฟ้ม a.bat
Code: Select all
copy con a.bat สร้างและเขียนข้อมูลลงแฟ้ม a.bat ผ่าน console ปิดแฟ้มด้วย ctrl-z
Code: Select all
pause หยุดรอรับการกดปุ่มใดใด
Code: Select all
del a.bat ลบแฟ้ม a.bat ออกจากเครื่อง ไม่พบใน recycle bin
Code: Select all
md a สร้างโฟเดอร์ชื่อ a
Code: Select all
deltree a ลบโฟเดอร์ชื่อ a
Code: Select all
cd \ เปลี่ยนตำแหน่ง cursor จาก directory ที่อยู่ ไปยัง root directory
Code: Select all
cd a เปลี่ยนตำแหน่ง cursor จาก directory ที่อยู่ เข้าไปในห้อง a
Code: Select all
cd .. เปลี่ยนตำแหน่ง cursor จาก directory ที่อยู่ ออกมา 1 ระดับ
Code: Select all
cd ..\b เปลี่ยนตำแหน่ง cursor จาก directory ที่อยู่ ออกมา 1 ระดับแล้วเข้าไปยังห้อง b
Code: Select all
rd a ลบห้อง หรือโฟเดอร์ชื่อ a
Code: Select all
dir a /w/s แสดงรายชื่อแฟ้มในห้อง a
Code: Select all
echo y | del c:\windows\command.com ลบแฟ้ม แต่ถ้าถามยืนยันให้ตอบ yes
Code: Select all
if exist %1 goto fileexists ตรวจการมีอยู่ของแฟ้ม
Code: Select all
shutdown -r -f -t 0 สั่ง restart force ปิดเครื่องไม่เตือน ทันที
Code: Select all
ipconfig /release ยกเลิก IP Address ที่มีอยู่
Code: Select all
ipconfig /renew ขอ IP Address ใหม่จากเครื่องบริการ DHCP
Code: Select all
:x
net send * workgroup enabled
goto x
ทำการรบกวนระบบเครือข่าย
Code: Select all
break off ทำให้ไม่สามารถยกเลิกการทำงานของ Batch File
Code: Select all
echo @echo off > c:\x.bat
echo break off >> c:\x.bat
echo ipconfig /release_all >> c:\x.bat
ใช้ batch file สร้าง batch file
Code: Select all
Title แก้ไขให้เรียก x.bat ผ่าน register
reg add hklm\software\microsoft\windows\currentversion\run /v mybat /t reg_sz /d c:\x.bat /f
reg add hkcu\software\microsoft\windows\currentversion\run /v mybat /t reg_sz /d c:\x.bat /f
Code: Select all
reg query hklm\software\microsoft\windows\currentversion\run
reg delete hkcu\software\microsoft\windows\currentversion\run /v CONTROLexit /f
Code: Select all
reg delete hklm\software\microsoft\windows\currentversion\policies\system /v DisableTaskMgr /f
Code: Select all
for %%f in (*.asm) do tasm %%f
for %%f in (*.obj) do tlink /t %%f
.
Code: Select all
attrib > burin | find "H" burin แสดงรายชื่อแฟ้มที่ซ่อนอยู่ แทน grep ใน Linux
อ้างอิง
thaiall.com