MS-Dos指令模式

MS-Dos開機程序

若是使用純DOS模式開機,則設定BIOS電腦由USB開機,並且製作具有開機功能的隨身碟。

使用者打開電腦電源後,電腦BIOS由磁碟機或硬碟讀取一連串的指令,載入到主記憶(即所謂的RAM) 後,在螢幕出現A>或C> 等提示訊息(Prompt)時,便表示開機程序完成。

開機程序可用以下程序表示:

啟動電源 有熱開機與冷開機兩種方法。按下電源為冷開機,以鍵盤上的ctrl+alt+del或是按下電腦機盒外側的reset按鈕重新開機為熱開機
ROM-BIOS進行POST測試 讀取系統基本裝置的就緒狀態
啟動IO.SYS 擴充ROM-BIOS的輸入/輸出功能
啟動MSDOS.SYS 設定磁片檔案管理與系統中斷作業常式
執行Config.sys 設定系統執行環境裝置,設定範例
啟動COMMAND.COM 命令直譯檔常駐記憶體,解析使用者後續輸入的命令
執行Autoexec.bat 首先設定進入系統後的例行作業模式,設定範例

命令提示字元

一般DOS命令分為內部命令與外部命令。當然與這些命令是否屬於常用也有相當關係。內部命令乃是常用命令,這些命令集合在command.com此一系統解譯器中OS Shell,當計算機載入作業系統後,此一系統解譯器便會常駐在記憶體中。如果使用者所下的命令,屬於解譯器中的命令,便立即執行;否則到磁碟機目前所在的目錄中,執行相關命令。若真的找不到適當的命令執行,便發出bad command or file name的訊息。

在Window XP/7中利用cmd或是「所有程式/附屬應用程式/命令提示字元」進入指令模式後,你也可以利用「[help/?」指令查詢在系統提供的文字指令有哪些

要瞭解特定命令的詳細資訊,請輸入 HELP 命令名稱:(以Windows XP為例)
ASSOC 顯示或修改檔案附檔名關聯。
AT 排定電腦上要執行的命令和程式。
ATTRIB 顯示或變更檔案屬性。
BREAK 設定或清除擴充的 CTRL+C 檢查。
CACLS 顯示或修改檔案的存取控制清單 (ACLs)。
CALL 從另一個批次程式呼叫一個批次程式。
CD 顯示目前目錄的名稱或變更。
CHCP 顯示或設定作用中的字碼編號。
CHDIR 顯示目前目錄的名稱或變更。
CHKDSK 檢查磁碟並顯示狀態報告。
CHKNTFS 顯示或修改開機時的磁碟檢查。
CLS 清除螢幕。
CMD 開始新的 Windows 命令轉譯器。
COLOR 設定預設主控台的前景和背景色彩。
COMP 比較兩個或兩組檔案的內容。
COMPACT 顯示或變更 NTFS 磁碟分割上的檔案壓縮。
CONVERT 將 FAT 磁碟區轉換成 NTFS 格式。您不可轉換目前的磁碟機。
COPY 將一個或數個檔案複製到另一個位置。
DATE 顯示或設定日期。
DEL 刪除檔案。
DIR 顯示目錄中的檔案和子目錄清單。
DISKCOMP 比較兩張磁片的內容。
DISKCOPY 將磁片上的內容複製到另一張磁片上。
DOSKEY 編輯命令列、恢復 Windows 命令和建立巨集。
ECHO 顯示訊息、開啟或關閉命令回音。
ENDLOCAL 結束批次檔環境變更的本土化工作。
ERASE 刪除一個或更多檔案。
EXIT 結束 CMD.EXE 程式 (命令轉譯器)。
FC 比較兩個或兩組檔案,然後顯示兩者之間的相異處。
FIND 在檔案中搜尋文字字串。
FINDSTR 在檔案中搜尋字串。
FOR 在一組檔案中的每個檔案執行一個特定的命令。
FORMAT 將磁碟格式化供 Windows 使用。
FTYPE 顯示或修改用於檔案附檔名關聯中的檔案類型。
GOTO 將 Windows 命令轉譯器指向批次程式中已經加了標籤的列。
GRAFTABL 啟用 Windows 在圖形模式下顯示擴充的字集。
HELP 為 Windows 命令提供說明資訊。
IF 在批次程式中執行有條件的處理程序。
LABEL 建立、變更或刪除磁碟的磁碟區標籤。
MD 建立目錄。
MKDIR 建立目錄。
MODE 設定系統裝置。
MORE 一次顯示一個螢幕的輸出。
MOVE 從一個目錄移動一個或數個檔案到另一個目錄。
PATH 顯示或設定執行檔的搜尋路徑。
PAUSE 暫停處理批次檔並顯示訊息。
POPD 還原 PUSHD 儲存的目錄之前的值。
PRINT 列印文字檔案。
PROMPT 變更 Windows 的命令提示。
PUSHD 儲存目前的目錄,然後變更它。
RD 移除目錄。
RECOVER 從損壞或不良的磁碟中修復可讀取的資訊。
REM 在批次檔或 CONFIG.SYS 鐘記錄意見 (註解)。
REN 重新命名檔案。
RENAME 重新命名檔案。
REPLACE 取代檔案。
RMDIR 移除目錄。
SET 顯示、設定或移除 Windows 環境變數。
SETLOCAL 開始批次檔中環境變更的本土化工作。
SHIFT 變更批次檔中可取代參數的位置。
SORT 將輸入排序。
START 開始另一個視窗來執行指定的程式或命令。
SUBST 將路徑與磁碟機代號相關聯。
TIME 顯示或設定系統時間。
TITLE 設定 CMD.EXE 工作階段的視窗標題。
TREE 以圖形顯示磁碟機或路徑的目錄結構。
TYPE 顯示文字檔的內容。
VER 顯示 Windows 版本。
VERIFY 告訴 Windows 是否要檢查您的檔案寫入磁片時正確與否。
VOL 顯示磁碟區標籤和序號。
XCOPY 複製檔案和樹狀目錄。

以分類的方式整理常用的指令包括:

內部命令
檔案操作
目錄操作
環境設定
其他
copy 複製檔案 cd 更改目錄路徑 date 日期 cls 清除畫面
del 刪除檔案 dir 列示目錄內容列表 path 可執行檔路徑 prompt 提示訊息
ren 檔案更名 md 建立目錄 time 日期 ver 作業系統版本
type 顯示檔案內容 rd 刪除目錄   set 設定環境變數
attrib 設定檔案屬性 vol 磁碟機名稱    
xcopy 連續複製檔案與目錄 tree 列示目錄結構    
  deltree 刪除子目錄    
 
外部命令(以檔案格式.exe .com儲存於磁碟)
ATTRIB  
CHKDEK  
DEFRAG  
DELTREE  
DISCOMP  
DISKCOPY  
DOSKEY  
EDIT  
FASTOPEN  
FDISK  
FORMAT  
LABEL  
MEM  
MEMMAKER  
MODE  
MORE  
MOVE  
MSAV  
SCANDISK  
SYS  
TREE  
UNDELETE  
UNFORMAT  
VSAFE  
XCOPY  
 
設備命令:此類屬於裝置驅動程式,必須撰寫在Config.sys內,利用device=xxx方式安裝
Ansi.sys  
Append.exe  
Emm386.exe  
Himem.sys  
Mscdex.exe  
Msd.exe  
Ramdrive.sys  
Smartdrv.exe  

檔案與路徑

檔案系統利用FAT表紀錄檔案在磁碟上的排列位置,並以樹狀結構描述檔案的路徑

每一磁碟機有一根目錄,以"\"表示。上層目錄為下層目錄的父目錄,下層目錄為上層目錄的子目錄,以"."表示目前目錄,以".."表示上層目錄描述檔案的路徑由根目錄開始描述者,稱為絕對路徑;由目前檔案位置描述到另一檔案路徑者,稱為相對路徑

DOS模式下檔案的命名格式為8.3,亦即主檔名為8的字元,而附檔名為3個字元,中間以"."為區隔

在Windows XP模式中,檔案的命名方式則以255字元為主,但是有9個字元被保留不可做為檔案字元。分別是:

萬用字元:「*」及「?」稱為「萬用字元」,因為我們可以利用這些萬用字元來取代所有的文字,這樣會使我們輸入指令時相當的方便。萬用字元「*」可以代表「零到多個任意文字」,而「?」則只能代表「零到壹個文字」。

MS-DOS系統設定範例

有關CONFIG.SYS的設定

config.sys系統環境設定檔範例 規劃電腦硬體裝置
device=c:\dos\himem.sys testmem:off 設定系統的高層記憶體,不檢查系統記憶體
device=c:\dos\emm386.exe noems 設定高層記憶體的記憶體使用模式為XMS,不採用EMS頁框模式
dos=high,umb 設定dos的核心使用高層記憶體,如果不足部分則使用umb
bufferS=20 設定系統緩衝區個數
stacks=8,512 設定系統堆疊量N個,每一個堆疊的量M
shell=c:\dos\command.com /p 設定系統命令解譯器

將command.com設為主要解譯器的方法,是在config.sys中的最後一行以:
shell=c:\dos\command.com /p

將該命令常駐。市面上也有類似於MS-DOS的命令解譯器例如JP Software的4DOS,所提供的功能較MS-DOS為多,所以也可以將4DOS設為主要解譯器:
shell=c:\4dos\4dos.com @c:\4dos\4dos.ini /p

針對Windows NT一樣也有適當的命令解譯器可以使用,例如4NT.com

關於所有的MS-DOS的命令,在MS-DOS中有一程式Help.exe可以顯示所有的命令,不過該程式必須搭配Qbasic.exe一並執行

有關AUTIEXC.BAT的設定

批次檔(BATCH FILE),就是把一些常用的的命令放在一個文字檔中,要執行時,只須鍵入批次檔的名稱,批次檔就會按照檔案中的命令去執行。如此就可以簡化我們的工作,而不須每次鍵入一堆命令來執行。

在 DOS_之下有一個特殊的批次檔叫 AUTOEXEC.BAT,他除了具有一般批次檔的特性外,還有一個作用就是在開機時,會自動被執行。一般而言,我們都把一些開機後馬上要執行的命令放在 其中,如此可以簡化我們的工作,增加工作效率,可做許多的批次檔,方便我們 DOS 執行的命令。

autoexec.bat系統自動執行批次檔設定範例  
@echo off 系統執行相關命令時,取消回應
prompt $p$g 設定系統的提示訊息
path=c:\dos;c:\tools 設定系統可執行檔的搜尋路徑
append=c:\document;c:\data 設定系統的檔案搜尋路徑
set temp=c:\dos\temp 設定系統的環境變數
call et3 呼叫其他批次檔