Batch File (แบทไฟล์) คืออะไร ไฟล์ .BAT คือ

Microsoft Office Knowledge Word, Excel, powerpoint, line , โปรแกรมเสริมต่างๆ

Moderator: mindphp, ผู้ดูแลกระดาน

bom_002
PHP Super Member
PHP Super Member
โพสต์: 443
ลงทะเบียนเมื่อ: 06/03/2017 10:51 am

Batch File (แบทไฟล์) คืออะไร ไฟล์ .BAT คือ

โพสต์ที่ยังไม่ได้อ่าน โดย bom_002 »

Selection_014.png
Selection_014.png (15.04 KiB) Viewed 19275 times
Batch File (แบทไฟล์) ไฟล์ .BAT คือ เป็นการเปิดช่องทางการ Interface (อินเตอเฟท) ระหว่างผู้ใช้งาน Peopleware (พริเพอะแวร์) กับระบบคอมพิวเตอร์อย่างชาญฉลาด

โดยปกติคำสั่งที่ใช้กับระบบคอมพิวเตอร์โดยยเฉพาะ 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 ขึ้นมาแล้วพิมพ์ตามนี้

โค้ด: เลือกทั้งหมด

@echo off
cls
echo Batch File Test
echo Open notepad
pause
notepad.exe
cls
echo Thank You
pause
ให้ Save As เป็นไฟล์ชิ่อ test.bat (นามสกุลต้องเป็น .bat ) เก็บไว้ที่ Drive C

ทดสอบ run ผ่าน Command Prompt

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

cls        ล้างจอภาพ (Clear Screen)

โค้ด: เลือกทั้งหมด

@echo off      ไม่แสดงการทำงานของคำสั่งใน Batch File

โค้ด: เลือกทั้งหมด

dir /?       แสดงคำแนะนำการใช้คำสั่ง dir

โค้ด: เลือกทั้งหมด

dir > a      นำผลการแสดงรายชื่อแฟ้ม ไปใส่ไว้ในแฟ้ม a

โค้ด: เลือกทั้งหมด

dir a       แสดงรายละเอียดของแฟ้ม a เช่น ขนาดแฟ้ม วันที่ที่สร้าง

โค้ด: เลือกทั้งหมด

echo aa      แสดงตัวอักษร aa ทางจอภาพ

โค้ด: เลือกทั้งหมด

echo aa > a.bat        สร้างแฟ้ม a.bat ที่มีตัวอักษา 2 ตัว แต่แฟ้มจะมีขนาด 4 bytes

โค้ด: เลือกทั้งหมด

echo aa >> a.bat        เพิ่มตัวอักษรอีก 2 ตัวต่อท้ายแฟ้ม a.bat

โค้ด: เลือกทั้งหมด

type a.bat          แสดงข้อมูลในแฟ้ม a.bat

โค้ด: เลือกทั้งหมด

copy con a.bat         สร้างและเขียนข้อมูลลงแฟ้ม a.bat ผ่าน console ปิดแฟ้มด้วย ctrl-z

โค้ด: เลือกทั้งหมด

pause         หยุดรอรับการกดปุ่มใดใด

โค้ด: เลือกทั้งหมด

del a.bat          ลบแฟ้ม a.bat ออกจากเครื่อง ไม่พบใน recycle bin

โค้ด: เลือกทั้งหมด

md a               สร้างโฟเดอร์ชื่อ a

โค้ด: เลือกทั้งหมด

deltree a         ลบโฟเดอร์ชื่อ a

โค้ด: เลือกทั้งหมด

cd \         เปลี่ยนตำแหน่ง cursor จาก directory ที่อยู่ ไปยัง root directory

โค้ด: เลือกทั้งหมด

cd a         เปลี่ยนตำแหน่ง cursor จาก directory ที่อยู่ เข้าไปในห้อง a

โค้ด: เลือกทั้งหมด

cd ..         เปลี่ยนตำแหน่ง cursor จาก directory ที่อยู่ ออกมา 1 ระดับ

โค้ด: เลือกทั้งหมด

cd ..\b        เปลี่ยนตำแหน่ง cursor จาก directory ที่อยู่ ออกมา 1 ระดับแล้วเข้าไปยังห้อง b

โค้ด: เลือกทั้งหมด

rd a        ลบห้อง หรือโฟเดอร์ชื่อ a

โค้ด: เลือกทั้งหมด

dir a /w/s         แสดงรายชื่อแฟ้มในห้อง a

โค้ด: เลือกทั้งหมด

echo y | del c:\windows\command.com          ลบแฟ้ม แต่ถ้าถามยืนยันให้ตอบ yes

โค้ด: เลือกทั้งหมด

if exist %1 goto fileexists          ตรวจการมีอยู่ของแฟ้ม

โค้ด: เลือกทั้งหมด

shutdown -r -f -t 0           สั่ง restart force ปิดเครื่องไม่เตือน ทันที

โค้ด: เลือกทั้งหมด

ipconfig /release         ยกเลิก IP Address ที่มีอยู่

โค้ด: เลือกทั้งหมด

ipconfig /renew          ขอ IP Address ใหม่จากเครื่องบริการ DHCP

โค้ด: เลือกทั้งหมด

:x   
net send * workgroup enabled
goto x
ทำการรบกวนระบบเครือข่าย

โค้ด: เลือกทั้งหมด

break off         ทำให้ไม่สามารถยกเลิกการทำงานของ Batch File

โค้ด: เลือกทั้งหมด

echo @echo off > c:\x.bat
echo break off >> c:\x.bat
echo ipconfig /release_all >> c:\x.bat
ใช้ batch file สร้าง batch file

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

reg query hklm\software\microsoft\windows\currentversion\run
reg delete hkcu\software\microsoft\windows\currentversion\run /v CONTROLexit /f

โค้ด: เลือกทั้งหมด

reg delete hklm\software\microsoft\windows\currentversion\policies\system /v DisableTaskMgr /f

โค้ด: เลือกทั้งหมด

for %%f in (*.asm) do tasm %%f
for %%f in (*.obj) do tlink /t %%f
.

โค้ด: เลือกทั้งหมด

attrib > burin | find "H" burin           แสดงรายชื่อแฟ้มที่ซ่อนอยู่ แทน grep ใน Linux

อ้างอิง
thaiall.com
:plusone:
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 91