DOS命令列表

以下是微軟的 DOS 作業系統（MS-DOS）的 DOS 命令列表。其它 DOS 的命令和用法可能類似。

後期版本的 DOS 可以通過 help 命令來得到命令與參數列表，通過 help _<命令>_或者_<命令>_ /? 來獲得命令的詳細資訊。

## 內部命令

### DIR

命令類型：內部命令

命令功能：顯示某個磁碟指定目錄下的全部或部分檔案目錄和子目錄，顯示資訊包括檔名、副檔名、檔案長度、檔案建立日期和時間。同時給出所顯示檔案的總數和所剩餘的磁碟空間。

命令格式：DIR filespec [/P] [/W] [/S]

命令使用說明：

1. 開關符
  1. [/P] 表示分屏顯示。當檔案較多，每顯示完一整屏後螢幕暫停，並提示「請按任意鍵繼續」，使用者按鍵後顯示下一屏，重複該過程直至顯示完畢。
  2. [/W] 表示以簡潔形式（緊縮格式）顯示檔案清單，目錄中只顯示檔名和副檔名。
  3. [/S] 對於給定的檔案標誌符，顯示其在指定目錄及指定目錄所有下級子目錄中的相應位置清單。
2. 檔案標誌符 filespec 中的檔名和副檔名可以使用萬用字元？和 \*
3. 當檔名是 \*.\* 時，可以省略不寫。例如：\*.ext,filename.\* 可簡寫為 filename.。
4. 該命令可以將顯示結果送向印表機。

#### DIR 命令的各種形式

* DIR \*.\*<Enter> 顯示當前盤當前目錄的全部目錄清單
* DIR A:\<Enter> 顯示本機磁碟 (A) 根目錄的目錄清單
* DIR \<Enter> 顯示當前盤根目錄的清單
* DIR ..<Enter> 顯示當前盤當前目錄的上級目錄的目錄清單
* DIR \*.EXE<Enter> 顯示當前盤當前目錄下副檔名為.EXE 的全部檔案清單
* DIR B:SUB/S<Enter> 顯示本機磁碟 (B) 當前目錄下子目錄 SUB 下的目錄清單，及 SUB 下所有子目錄（包括各級下級子目錄）下的目錄清單
* DIR .EXE/p<Enter> 以分屏方式顯示當前盤當前目錄下副檔名為.EXE 的全部檔案清單
* DIR \*.\*>PRN<Enter> 顯示當前盤當前目錄的全部目錄清單同時列印

### copy

複製或合併檔案

語法：COPY [/D][/V][/N][/Y|/-Y][/Z][/A|/B]

命令形式：COPY source [/A|/B][+source [/A|/B]+ ... [destination [/A|/B]]

方括號括起來的是可選部分，不是必須部分。

比如：copy c:\source.exe c:\destination.exe// 就是把 source.exe 複製到 destination.exe, 不論 destination.exe 存在與否，副檔名可以使其它

/D 允許解密要建立的目的檔 
/V 驗證新檔案寫入是否正確 
/N 複製帶有非 8dot3 名稱的檔案 
/Y |/-Y 使用確認是否要覆蓋現有目的檔的提示 
/Z 可重新啟動模式複製已聯網的檔案 
[/A|/B] 表示 ASCII 文字檔案和二進位檔案

要附加檔案，用萬用字元或 file1+file2+file3 格式。

source 指定要複製的檔案；destination 為新檔案指定目錄和 / 或檔名。

### ren 或 rename

重新命名檔案或者一個子目錄

語法 

RENAME [drive:][path]filename1 filename2 
例如：rename d:\soft\setup.exe setup123.exe 

REN [drive:][path]filename1 filename2

### cd 或 chdir

顯示或者更改當前路徑

語法 

CHDIR [/D] [drive:][path] 

CHDIR [..] 

CD [/D] [drive:][path] 

CD [..] 

### md 或 mkdir

新建一個目錄

語法 

MKDIR [drive:]path 

MD [drive:]path

### rd 或 rmdir

刪除一個空目錄

語法 

RMDIR [/S] [/Q] [drive:]path 

RD [/S] [/Q] [drive:]path 
在使用過程中要記住的是，這個命令若未加 [/S] 的參數時，只能夠刪除空子目錄。 
  
參數說明： 
[/S]：除目錄樹，即刪除目錄及目錄下的所有子目錄和檔案 
[/Q]：在進行刪除時，取消系統詢問刪除與否的確認訊息。

### del 或 erase

刪除一個或者多個檔案

語法 

ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names 

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

參數說明：

* /F 強制刪除唯讀檔案。
* /S 從所有子目錄刪除指定檔案。
* /Q 安靜模式。刪除時，不要求確認。
* /A 根據屬性選擇要刪除的檔案。

範例：

* del /f /s /q /a c:\\*.bak
* 就是刪除所有在 c 槽的 \*.bak 檔

假如是一個目錄的話就

* del /q c:\folder\\*.bak

### type

顯示檔案內容

語法 

type _<檔案名>_

### set

顯示、設定、刪除環境變數。如時間，提示符等。 
從 Windows 2000 起，通過添加 / P 參數，set 命令可以用來接收命令列的輸入。 
例如： 

Set /P Choice = Type your text. 

echo You typed: "%choice%"

### path

設定可執行檔的搜尋路徑

在硬碟中建立樹狀目錄結構，雖然方便了檔案的分門別類整理，但是卻帶來了另一方面的問題：如何共同各目錄中的檔案？每當執行外部命令或批次檔時，首先要找到該檔案的目錄，指出相應的路徑，總是感到操作繁瑣，於是 DOS 提供了 PATH 命令，以解決檔案的共享問題。

1. 功能：設定可執行檔的搜尋路徑，只對.COM、.EXE 及.BAT 檔案有效。
2. 類型：內部命令。
3. 格式 PATH [;][磁碟機代號 1][路徑 1][;][磁碟機代號 2][路徑 2][;...]
4. 使用說明

　
: 1. PATH 命令可用來設定可執行檔（僅包括：.COM、.EXE 及.BAT 檔案）的搜尋路徑。當您執行一個可執行檔時，DOS 會先在當前目錄中搜尋該檔案，若找到則執行之；若找不到該檔案，則根據 PATH 命令所設定的路徑，順序逐條地到各目錄中搜尋該檔案；
2. PATH 命令中的路徑，若有兩條以上，各路徑之間以一個分號「；」隔開；
3. PATH 命令有三種使用方法：

　
: 1. PATH 磁碟機代號：路徑 1；磁碟機代號：路徑 2;...（設定可執行檔的搜尋路徑）
2. PATH ；（取消所有路徑）
3. PATH（顯示目前所設的路徑）

### help

顯示目前版本 DOS 的幫助資訊

語法 

HELP [command]

### ver

顯示當前 DOS 版本資訊。

### cls

清除文字

## 外部命令

### tree

顯示目錄的樹狀結構。

TREE 命令自 DOS 2.0 系統開始支援子目錄以後提供，用以讓使用者得知磁碟或硬碟目錄的樹狀結構。

### more

分屏顯示檔案，檔案內容可通過命令列參數指定，若未指定則使用 stdin（管道）。例：

more a.txt

dir | more

### move

移動檔案，或重新命名一個檔案或子目錄。

### attrib

修改檔案的 S/H/R/A 等屬性。
無法更改 NTFS 的 ACL。

### deltree

刪除目錄樹。

### xcopy

複製檔案或子目錄。XCOPY 意指 _extended copy_。

XCOPY 指令由 DOS 3.2 開始提供，用以提供一個更快捷及穩定的檔案抄寫模式。傳統 DOS 的內部指令在抄寫檔案時，會利用標準 DOS 呼叫把檔案逐一由源路徑複制往目的路徑；但 XCOPY 會先把要抄的內容抄往記憶作暫存，待記憶填滿了，再寫往目的路徑。由於磁碟動作減少了，所以抄寫動作得以大幅提高。

如果全路徑名的長度超過 254 個字元，則 Xcopy 報 "insufficient memory" 錯誤。如果 move 大檔案但未使用 "/j" 選項（Windows Server 2008R2 開始使用），可能會耗盡所有可用記憶體。對於未使用 FILE\_SHARE\_READ 選項被其它行程打開的檔案，Xcopy 不能打開這個檔案；Windows Volume Shadow Copy 服務可用於此種情形，但 Xcopy 沒有用它。所以 Xcopy 不能用於備份 live 作業系統的檔案。

雖然 Windows 10 中還有 Xcopy，但它已經過時，應該使用更強有力的 Robocopy。

### format

格式化軟碟或硬碟分割區（進階格式化）。

### diskcopy

複製整張軟碟。

### diskcomp

比較整張軟碟。

### undelete

恢復刪除的檔案（如果可能的話）。

### unformat

恢復格式化的磁碟（如果可能的話）。

### fdisk

硬碟分割區。

有些時候需要重設 MBR 的資訊（例如解除安裝掉 Linux 的啟動選單等），這時候可以使用這個命令：
fdisk /mbr

## 參考資料