dir

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

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

語法

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

參數

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

如果未指定 sortorderdir /o 會按字母順序列出目錄,然後是檔案,檔案也按按字母順序排列。

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

備註

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

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

  • 您可以使用萬用字元 (*) 來取代任何字元字串,例如:

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

    • dir read *.txt 列出目前目錄中以 read 開頭且副檔名為 .txt 的所有檔案,例如:.txt、.txt1 或 .txt_old。

    • dir read *.* 列出目前目錄中所有以 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 開頭且後面接著最多三個字元的所有檔案。 這包括 Read.txt、Read1.txt、Read12.txt、Read123.txt 和 Readme1.txt,但不包括 Readme12.txt。

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

  • 如果您指定多個 sortorder 值,此命令會依第一個準則、第二個準則等來排序檔案名稱。 例如,如果將 /osortordere-s 參數一起使用 (透過使用 /o:e-s/oe-s),該命令將目錄和檔案的名稱按副檔名排序 (由最大到最小),然後顯示最終結果。 按照副檔名的字母排序會導致沒有副檔名的檔案名稱先出現,然後是目錄名稱,最後顯示含有副檔名為的檔案名稱。

  • 如果使用重新導向符號 (>) 將此命令的輸出傳送至檔案,或使用管道 (|) 將此命令的輸出傳送至另一個命令,則必須使用 /a:-d/b 只列出檔案名稱。 可以將 filename/b/s 一起使用,指定該命令在目前目錄及其子目錄中搜尋與 filename 相符的所有檔案名稱。 此命令只會列出它找到的每個檔案名稱之磁碟機代號、目錄名稱、檔案名稱和檔案名稱副檔名 (每行一個路徑)。 在使用管道將此命令的輸出傳送至另一個命令之前,應在 Autoexec.nt 檔案中設定 TEMP 環境變數。

範例

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

dir /s/w/o/p

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

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

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

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

dir > prn

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

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

dir > \records\dir.doc

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

File creation error

若要在磁碟機 C 上的所有目錄中顯示副檔名為 .txt 的所有檔案名稱清單,請輸入:

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

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