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

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

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

bom_002
PHP Super Member
PHP Super Member
Posts: 443
Joined: 06/03/2017 10:51 am

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

Post by bom_002 »

Selection_014.png
Selection_014.png (15.04 KiB) Viewed 10691 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 ขึ้นมาแล้วพิมพ์ตามนี้

Code: Select all

@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

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
:plusone:
  • Similar Topics
    Replies
    Views
    Last post

Return to “Microsoft Office Knowledge & line & Etc”

Who is online

Users browsing this forum: No registered users and 8 guests