COMMAND.COM
COMMAND.COM เป็นอินเทอร์พรีเตอร์บรรทัดคำสั่งปริยายสำหรับระบบปฏิบัติการดอส วินโดวส์ 95 วินโดวส์ 98 และวินโดวส์มี และเป็นส่วนติดต่อผู้ใช้ปริยายในดอส โดยมีหน้าที่เพิ่มเติมคือตั้งค่าระบบโดยเรียกใช้ไฟล์การกำหนดค่า AUTOEXEC.BAT เมื่อโปรแกรมแรกเริ่มทำงานหลังจากบูตระบบ รวมถึงทำหน้าที่เป็นต้นกำเนิดของกระบวนการทั้งหมดด้วย COMMAND.COM รุ่นใหม่บนระบบปฏิบัติการโอเอส/2 และวินโดวส์เอ็นทีจะเป็น cmd.exe ถึงแม้ว่า COMMAND.COM จะพร้อมใช้งานบนระบบปฏิบัติการเหล่านั้นซึ่งเป็นรุ่น IA-32 ก็ตาม
COMMAND.COM เป็นโปรแกรมดอส โปรแกรมที่เรียกใช้จาก COMMAND.COM จะเป็นโปรแกรมดอสที่ใช้ MS-DOS API ในการสื่อสารข้อมูลกับระบบปฏิบัติการ (ดอส)
โหมดการทำงาน
[แก้]COMMAND.COM มีโหมดการทำงานอยู่ด้วยกันสองโหมดในรูปแบบเชลล์ โดยโหมดแรกจะเป็นโหมดแบบโต้ตอบ ซึ่งสำหรับดำเนินการคำสั่งที่ผู้ใช้พิมพ์โดยทันที โหมดที่สองจะเป็นโหมดแบบกลุ่ม ซึ่งดำเนินการลำดับคำสั่งที่กำหนดไว้ล่วงหน้าซึ่งถูกเก็บไว้เป็นไฟล์ข้อความที่มีนามสกุลไฟล์ .BAT
คำสั่งภายใน
[แก้]คำสั่งภายในเป็นคำสั่งที่บรรจุไว้ภายในไบนารีของ COMMAND.COM โดยตรง ซึ่งพร้อมใช้งานตลอดเวลา แต่สามารถเรียกใช้ได้เพียงจากอินเทอร์พรีเตอร์คำสั่งโดยตรงเท่านั้น
คำสั่งทั้งหมดจะถูกดำเนินการหลังจากกดปุ่ม ↵ Enter ที่ท้ายบรรทัดคำสั่ง โดยคำสั่งใน COMMAND.COM จะไม่คำนึงถึงตัวอักษรพิมพ์ใหญ่-เล็ก หมายความว่าสามารถพิมพ์คำสั่งได้โดยจะเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กก็ได้
- BREAK
- ควบคุมการจัดการการขัดจังหวะการทำงานของโปรแกรมโดยการกดปุ่ม Ctrl+C หรือปุ่ม Ctrl+Break
- CHCP
- แสดงข้อมูลหรือเปลี่ยนโค้ดเพจปัจจุบันของระบบ
- CHDIR, CD
- เปลี่ยนไดเรกทอรีการทำงานปัจจุบันหรือแสดงไดเรกทอรีปัจจุบัน
- CLS
- ล้างหน้าจอ
- COPY
- คัดลอกไฟล์จากต้นทางไปยังปลายทาง (หากมีไฟล์ปลายทางอยู่แล้ว ดอสจะถามว่าต้องการแทนที่ไฟล์ดังกล่าวหรือไม่) (ดูเพิ่มเติมที่ XCOPY คำสั่งภายนอกซึ่งสามารถคัดลอกทรีไดเรกทอรีได้ด้วย)
- CTTY
- กำหนดอุปกรณ์ที่จะใช้สำหรับส่วนนำเข้าและแสดงผล
- DATE
- แสดงผลและตั้งค่าวันที่ของระบบ
- DEL, ERASE
- ลบไฟล์ เมื่อใช้กับไดเรกทอรี จะลบเฉพาะไฟล์ที่อยู่ในไดเรกทอรีดังกล่าว ส่วนคำสั่งภายนอก DELTREE จะลบทั้งไดเรกทอรีย่อยและไฟล์ที่อยู่ในไดเรกทอรีดังกล่าว รวมทั้งลบไดเรกทอรีดังกล่าวออกด้วย
- DIR
- แสดงรายชื่อไฟล์ที่อยู่ในไดเรกทอรีที่ระบุ
- ECHO
- เปิด/ปิดการแสดงผลข้อความ (ECHO ON หรือ ECHO OFF) หรือแสดงผลข้อความบนหน้าจอ (ECHO text)
- EXIT
- ออกจาก COMMAND.COM และกลับไปที่โปรแกรมที่เรียกใช้
- LFNFOR
- เปิดหรือปิดใช้งานการส่งกลับชื่อไฟล์แบบยาวโดยคำสั่ง FOR (วินโดวส์ 9x)
- LOADHIGH, LH
- โหลดโปรแกรมเข้าไปในเขตปฏิบัติการหน่วยความจำสูง (HILOAD ใน DR DOS)
- LOCK
- เปิดให้โปรแกรมภายนอกเข้าถึงโวลุ่มดิสก์ระดับต่ำ (เฉพาะ DOS 7.1 และวินโดวส์ 9x)
- MKDIR, MD
- สร้างไดเรกทอรีใหม่
- PATH
- แสดงผลหรือเปลี่ยนค่าของตัวแปรสภาพแวดล้อม PATH ซึ่งควบคุมสถานที่ที่ COMMAND.COM ใช้สำหรับค้นหาไฟล์ปฏิบัติการ
- PROMPT
- แสดงผลหรือเปลี่ยนค่าของตัวแปรสภาพแวดล้อม PROMPT ซึ่งควบคุมการปรากฏของพร้อมท์
- REN, RENAME
- เปลี่ยนชื่อไฟล์หรือไดเรกทอรี
- RMDIR, RD
- ลบไดเรกทอรีว่างเปล่า
- SET
- กำหนดค่าของตัวแปรสภาพแวดล้อมโดยไม่มีอาร์กิวเมนต์ รวมถึงแสดงตัวแปรสภาพแวดล้อมที่กำหนดไว้ทั้งหมด
- TIME
- แสดงผลและตั้งค่าเวลาของระบบ
- TRUENAME
- แสดงชื่อจริงเต็มของไฟล์ โดยแปลงที่อยู่การแมประบบไฟล์แบบลอจิคัล ASSIGN, JOIN และ SUBST[1]
- TYPE
- แสดงเนื้อหาของไฟล์บนคอนโซล
- UNLOCK
- ปิดใช้งานการเข้าถึงดิสก์ระดับต่ำ (เฉพาะ DOS 7.1 และวินโดวส์ 9x)
- VER
- แสดงรุ่นของระบบปฏิบัติการ
- VERIFY
- เปิดหรือปิดการยืนยันการเขียนไฟล์
- VOL
- แสดงข้อมูลเกี่ยวกับโวลุ่ม
คำสั่งไฟล์ชุดคำสั่ง
[แก้]โครงสร้างการควบคุมมักจะถูกใช้ภายในไฟล์ชุดคำสั่ง ถึงแม้ว่าจะสามารถใช้โครงสร้างเหล่านั้นแบบโต้ตอบได้ก็ตาม[2][1]
- :label
- กำหนดเป้าหมายสำหรับ GOTO
- CALL
- ดำเนินการไฟล์ชุดคำสั่งถัดไปก่อน แล้วจึงกลับมาที่ไฟล์แรกและดำเนินการต่อ
- FOR
- การทำซ้ำ: ทำซ้ำคำสั่งสำหรับแต่ละชุดของไฟล์
- GOTO
- ย้ายการดำเนินการไปยังป้ายชื่อที่ระบุ ป้ายชื่อจะถูกระบุที่ต้นบรรทัด พร้อมด้วยเครื่องหมายทวิภาค (:likethis).
- IF
- คำสั่งแบบเงื่อนไข ใช้ในการจำแนกคำสั่งในการดำเนินการโปรแกรม
- PAUSE
- หยุดการดำเนินการโปรแกรมและแสดงข้อความแจ้งผู้ใช้ให้กดปุ่มใดก็ได้เพื่อดำเนินการต่อ
- REM
- คอมเมนต์: ละเว้นข้อความใด ๆ ที่อยู่หลังคำสั่งนี้
- SHIFT
- แทนที่พารามิเตอร์การแทนที่แต่ละค่าด้วยค่าถัดไป (เช่น %0 ด้วย %1, %1 ด้วย %2 ฯลฯ)
คำสั่ง IF
[แก้]เมื่อจะจบการทำงาน คำสั่งภายนอกทั้งหมดจะต้องส่งรหัสการส่งกลับ (เป็นค่าระหว่าง 0 ถึง 255) ไปยังโปรแกรมที่เรียก โดยโปรแกรมส่วนใหญ่จะมีแบบแผนบางอย่างสำหรับรหัสการส่งกลับนั้นด้วย (ตัวอย่างเช่น ค่า 0 สำหรับการดำเนินการที่สำเร็จ)[3][4][5][6]
หากมีโปรแกรมใด ๆ ถูกเรียกโดย COMMAND.COM คำสั่งภายใน IF พร้อมคำสั่งแบบเงื่อนไข ERRORLEVEL จะสามารถนำมาใช้ทดสอบเงื่อนไขข้อผิดพลาดของโปรแกรมภายนอกที่เรียกล่าสุดได้
คำสั่งภายในจะไม่สร้างค่าใหม่ภายใต้ COMMAND.COM
ข้อจำกัด
[แก้]ความยาวบรรทัดคำสั่งในโหมดแบบโต้ตอบจะถูกจำกัดไว้ที่ 126 ตัวอักษร[7]
ดูเพิ่ม
[แก้]อ้างอิง
[แก้]- 1 2 Paul, Matthias R. (1997-07-30) [1994-05-01]. NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Release 157 (ภาษาเยอรมัน) (3 ed.). MPDOSTIP. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 4 November 2016. สืบค้นเมื่อ 2014-08-06. (NB. The provided link points to a HTML-converted version of the
NWDOSTIP.TXT, which is part of theMPDOSTIP.ZIPcollection.) - ↑ "Chapter 7: Batch Processing". DR-DOS 7.02 User Guide. Caldera, Inc. 1998. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2017-09-11. สืบค้นเมื่อ 2017-09-11.
- ↑ Paul, Matthias (1997-05-01) [1993]. BATTIPs — Tips & Tricks zur Programmierung von Batchjobs. MPDOSTIP (ภาษาเยอรมัน). 7: ERRORLEVEL abfragen. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2017-08-23. สืบค้นเมื่อ 2017-08-23. (NB. BATTIPS.TXT is part of MPDOSTIP.ZIP. The provided link points to a HTML-converted older version of the BATTIPS.TXT file.)
- ↑ Auer, Eric; Paul, Matthias; Hall, Jim (2015-12-24) [2003-12-31]. "MS-DOS errorlevels". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2015-12-24.
- ↑ Paul, Matthias (2003) [1997]. Auer, Eric (บ.ก.). "Exitcodes (errorlevels) of DOS utilities". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2017-09-11. สืบค้นเมื่อ 2017-09-11.
- ↑ Allen, William; Allen, Linda. "Windows 95/98/ME ERRORLEVELs". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2005-10-29.
- ↑ Paul, Matthias (1997-07-01) [1994]. MSDOSTIPs — Tips für den Umgang mit MS-DOS 5.0-7. MPDOSTIP (ภาษาเยอรมัน). คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2017-08-22. สืบค้นเมื่อ 2013-10-25. (NB. MSDOSTIP.TXT is part of MPDOSTIP.ZIP, maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the MSDOSTIP.TXT file.)