共用方式為


dir

顯示目錄的檔案和子目錄清單。 如果沒有參數使用,此命令會顯示磁碟的磁碟區卷標和序號,後面接著磁碟上的目錄和檔案清單(包括其名稱和上次修改的日期和時間)。 對於檔案,此命令會顯示擴展名和位元元組大小。 此命令也會顯示列出的檔案和目錄總數、其累計大小,以及磁碟上剩餘的可用空間(以位元組為單位)。

dir 命令也可以使用不同的參數從 Windows 恢復控制台運行。 如需詳細資訊,請參閱 Windows 復原環境 (WinRE)

Syntax

dir [<drive>:][<path>][<filename>] [...] [/p] [/q] [/w] [/d] [/a[[:]<attributes>]][/o[[:]<sortorder>]] [/t[[:]<timefield>]] [/s] [/b] [/l] [/n] [/x] [/c] [/4] [/r]

Parameters

Parameter Description
[<drive>:][<path>] 指定您想要檢視清單的磁碟驅動器和目錄。
[<filename>] 指定您想要查看清單的特定檔案或檔案群組。
/p 一次顯示清單的一個畫面。 若要查看下一個畫面,請按任何按鍵。
/q 顯示檔案擁有權資訊。
/w 以寬格式顯示清單,每一行的檔名或目錄名稱多達五個。
/d 以與 /w 相同的格式顯示清單,但檔案會依欄排序。
/a[[:]<attributes>] 只顯示具有指定屬性之目錄和檔案的名稱。 如果您沒有使用此參數,命令會顯示隱藏和系統檔案以外的所有檔案名稱。 如果您使用此參數而不指定任何 屬性,則指令會顯示所有檔案的名稱,包括隱藏檔案和系統檔案。 可能的 屬性 值清單如下:
  • d - 目錄
  • h - 隱藏檔案
  • s - 系統檔案
  • l - 重新分析點
  • r - 唯讀檔案
  • a - 已準備好封存的檔案
  • i - 非內容索引檔案
您可以使用這些值的任何組合,但不要使用空格分隔您的值。 您可以選擇性地使用冒號(:)分隔符,也可以使用連字元 (-) 作為前置詞來表示“not”。 例如,使用 -s 屬性不會顯示系統檔案。
/o[[:]<sortorder>] 根據 排序順序排序輸出,可以是下列值的任意組合:
  • n - 依名稱字母順序排列
  • e - 按字母順序擴展
  • g - 先組目錄
  • s - 按大小,最小在前
  • d - 依日期/時間,最舊的在前
  • 使用 - 前置詞來反轉排序順序
會依照您列出這些值的順序來處理多個值。 請勿使用空格分隔多個值,但您可以選擇性地使用冒號 (:)。

如果未指定 sortorder,dir/o 會依字母順序列出目錄,後面接著檔案,這些檔案也會依字母順序排序。

/t[[:]<timefield>] 指定要顯示或用於排序的時間欄位。 可用的 時間欄位 值包括:
  • c - 創造
  • a - 上次存取時間
  • w - 最後寫入
/s 列出指定目錄和所有子目錄中每個出現的指定檔名。
/b 顯示目錄和檔案的裸機清單,沒有其他資訊。 /b 參數會覆寫 /w
/l 使用小寫顯示未排序的目錄名稱和檔名。
/n 在畫面最右邊顯示具有檔名的長清單格式。
/x 顯示非 8dot3 檔名所產生的簡短名稱。 顯示畫面與 /n 的顯示畫面相同,但短名稱會插入長名稱之前。
/c 以檔案大小顯示千位分隔符。 此為預設行為。 使用 /-c 隱藏分隔符號。
/4 以四位數格式顯示年份。
/r 顯示檔案的替代數據流。
/? 在命令提示字元中顯示說明。

Remarks

  • 若要使用多個 檔案名稱 參數,請以空格、逗號或分號分隔每個檔案名稱。

  • 您可以使用萬用字元 (*) 來代表檔案名稱的一或多個字元,以及顯示檔案或子目錄的子集。

  • 您可以使用通配符 *來取代任何字元字串,例如:

    • dir *.txt 列出目前目錄中所有擴展名開頭為 .txt的檔案,例如 .txt、.txt1、.txt_old。

    • dir read *.txt 會列出目前目錄中以讀取開頭的所有檔案,以及開頭為 .txt的擴展名,例如 .txt、.txt1 或 .txt_old。

    • dir read *.* 列出目前目錄中以任何擴展名讀取開頭的所有檔案。

    星號通配符一律會使用簡短檔名對應,因此您可能會取得非預期的結果。 例如,下列目錄包含兩個檔案 (t.txt2 和 t97.txt):

    C:\test>dir /x
    Volume in drive C has no label.
    Volume Serial Number is B86A-EF32
    
    Directory of C:\test
    
    11/30/2004  01:40 PM <DIR>  .
    11/30/2004  01:40 PM <DIR> ..
    11/30/2004  11:05 AM 0 T97B4~1.TXT t.txt2
    11/30/2004  01:16 PM 0 t97.txt
    

    您可能會預期輸入 dir t97\* 會傳回檔案 t97.txt。 不過,鍵入會 dir t97\* 傳回這兩個檔案,因為星號萬用字元會使用其簡短名稱對映 T97B4~1.TXT來比對 t.txt2 以 t97.txt 檔案。 同樣地,輸入 del t97\* 會刪除這兩個檔案。

  • 您可以使用問號 (?) 作為名稱中單一字元的替代專案。 例如,輸入 dir read???.txt 會列出目前目錄中任何擴展名為讀取且後面最多三個字元的 .txt 檔案。 這包括 Read.txt、Read1.txt、Read12.txt、Read123.txt和 Readme1.txt,但不包括 Readme12.txt。

  • 如果您在屬性中使用具有多個值的 /a ,則此命令只會顯示具有所有指定屬性的檔案名稱。 例如,如果您使用 /a 搭配 r-h 作為屬性 (使用 或 /a:r-h/ar-h),此命令只會顯示未隱藏的唯讀檔案名稱。

  • 如果您指定多個 排序順序 值,則此指令會依第一個準則排序檔案名稱,然後依第二個準則排序,依此類推。 例如,如果您將 /o排序順序e-s 參數搭配使用 (使用 /o:e-s/oe-s),此命令會依副檔名排序目錄和檔案的名稱,在前,然後顯示最終結果。 依擴展名的字母排序會導致沒有擴展名的檔名先出現,再顯示目錄名稱,再顯示擴展名為的檔名。

  • 如果您使用重新導向符號 (>) 將此命令的輸出傳送至檔案,或使用管道 (|) 將此命令的輸出傳送至另一個命令,則必須使用 /a:-d/b 來只列出檔案名稱。 您可以將 filename/b/s 搭配使用,以指定此指令要搜尋現行目錄及其子目錄,以尋找符合 filename 的所有檔名。 此命令只會針對找到的每個檔名,列出驅動器號、目錄名稱、檔名和擴展名(每行一個路徑)。 使用管道將此命令的輸出傳送至另一個命令之前,您應該在 Autoexec.nt 檔案中設定 TEMP 環境變數。

Examples

若要依字母順序顯示所有目錄,以寬格式顯示,並在每個畫面之後暫停,請確定根目錄是目前目錄,然後輸入:

dir /s/w/o/p

輸出會列出根目錄、子目錄和根目錄中的檔案,包括擴展名。 此命令也會列出樹狀結構中每個子目錄中的子目錄名稱和檔名。

若要變更上述範例,讓 dir 顯示檔案名稱和副檔名,但省略目錄名稱,請鍵入:

dir /s/w/o/p/a:-d

若要列印目錄清單,請輸入:

dir > prn

當您指定 prn 時,目錄清單會傳送至連接至 LPT1 埠的印表機。 如果您的印表機連接至不同的埠,您必須將 prn 取代為正確埠的名稱。

您也可以將 prn 取代為檔案名稱,將 dir 指令的輸出重新導向至檔案。 您也可以輸入路徑。 例如,若要將 dir 輸出導向至 Records 目錄中的檔案dir.doc,請輸入:

dir > \records\dir.doc

如果dir.doc不存在,則 建立它,除非 Records 目錄不存在。 在此情況下,會出現下列訊息:

File creation error

若要顯示磁碟驅動器 C 上所有目錄中所有擴展名為 .txt 擴展名的所有檔案名清單,請輸入:

dir c:\*.txt /w/o/s/p

dir 指令會以寬格式顯示每個目錄中相符檔名的字母順序清單,每次畫面填滿時都會暫停,直到您按任何鍵繼續為止。