2009年8月24日 星期一

Dir命令用法(全)

Dir

顯示目錄下之檔案及子目錄的清單。若不使用參數,dir 會先顯示磁碟的磁碟區標籤及序號,然後再接著顯示磁碟上的目錄與檔案清單,顯示內容包括名稱及其上次修改的日期與時間。若為檔案,dir 會顯示副檔名及檔案大小 (以位元組計)。Dir 也會顯示列出的檔案及目錄總數、磁碟上所有檔案的大小總計,以及磁碟上所剩的可用空間 (以位元組計)。

Syntax 語法

dir [Drive:][Path][FileName] [...] [/p] [/q] [/w] [/d] [/a[[:]Attributes]][/o[[:]SortOrder]] [/t[[:]TimeField]] [/s] [/b] [/l] [/n] [/x] [/c] [/4]
Parameters

[Drive:][Path]

指定要查看其清單的磁碟機及目錄。

[FileName]

指定要查看其清單的特定檔案或檔案群組。

/p

一次一個螢幕地顯示清單。若要查看下一個螢幕,請按鍵盤上任一個按鍵。

/q

顯示檔案擁有權資訊。

/w

以橫向格式顯示清單,每一列顯示五個檔名或目錄名稱。

/d

與 /w 相同,但檔案會依照字母順序排列於各欄。

/a [[:] Attributes]

只顯示擁有指定屬性的目錄及檔案名稱。若省略 /a,dir 會顯示隱藏檔案及系統檔案以外的所有檔名。若使用了 /a,但未指定 Attributes,則 dir 會顯示包括隱藏檔案及系統檔案在內的所有檔名。下列清單所示,是每個可供 Attributes 使用的值。冒號 (:) 可以省略。您可以任意組合這些值,但請勿以空格區隔各值。
 
值     描述

h
    

隱藏檔案

s
    

系統檔案

d
    

目錄

a
    

要保存的檔案

r
    

唯讀檔案

-h
    

非隱藏檔案

-s
    

系統檔案以外的檔案

-d
    

只有檔案 (非目錄)

-a
    

上次備份以來尚未變更的檔案

-r
    

非唯讀檔案

/o [[:]SortOrder]

控制 dir 的排序及所顯示之目錄名稱及檔名的順序。若省略 /o,則 dir 會以名稱在目錄中的順序顯示。如果使用 /o,但未指定 SortOrder,則 dir 會以英文字母排序顯示目錄名稱,再顯示檔案名稱。冒號 (:) 可以省略。下列清單是每個可供 SortOrder 使用的值。您可以任意組合這些值,但請勿以空格區隔各值。
 
值     描述

n
    

依名稱的英文字母順序

e
    

依副檔名的英文字母順序

d
    

依時間及日期,從最早開始排序

s
    

依大小,從最小開始排序

g
    

先列出所有的目錄,再列出檔案

-n
    

依名稱的英文字母順序降冪排序 (Z 到 A)

-e
    

依副檔名的英文字母順序降冪排序 (.ZZZ 到 .AAA)

-d
    

依日期及時間,從最新開始排序

-s
    

依大小,從最大開始排序

-g
    

先列出所有檔案,再列出目錄

/t [[:]TimeField]

指定顯示或用於排序的時間欄位。下列清單是每個可供 TimeField 使用的值。
 
值     描述

c
    

建立

a
    

上次存取

w
    

上次寫入

/s

列出指定目錄及所有子目錄中的指定檔名。

/b

逐行列出每個目錄名稱或檔名 (含副檔名)。/b 不顯示標頭資訊或摘要。/b 覆寫 /w。

/l

以小寫顯示未經排序的目錄名稱及檔名。/l 不會將延伸字元轉換成小寫。

/n

在螢幕的最右邊以長列表格式顯示檔名。

/x

顯示為 NTFS 及 FAT 磁碟區而產生的短檔名。此顯示方式與 /n 參數相同,但短檔名會在長檔名之後顯示。

/c

在檔案大小顯示千位數分隔字元。

/4

顯示四位數的年份格式。

/?

在命令提示字元中顯示說明。
Remarks
•     

使用多個 FileName 參數

您可以使用多個 FileName 參數。使用空格、逗號或分號來分隔檔案名稱。您可以在 FileName 參數中使用萬用字元 (? 及 *),顯示檔案群組。
•     

使用萬用字元

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

星號 (*): 使用星號來代替字元的任何字串。例如,鍵入:
•     

dir *.txt 列出現行目錄中,副檔名以 .txt 開頭 (如 .txt、.txt1、.txt_old) 的所有檔案。
•     

dir read*.txt 列出現行目錄中,副檔名以 .txt 開頭 (如 .txt、.txt1、.txt_old)、且檔案名稱以 read 開頭的所有檔案。
•     

dir read*.* 列出現行目錄中,檔案名稱以 read 開頭的所有檔案 (副檔名不拘)。

請注意,星號萬用字元必定會使用短檔案名稱對應,因此您可能會得到不想要的結果。例如,下列目錄包含 2 個檔案,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。
•     

指定檔案顯示屬性

如果您在 Attributes 中以 /a 與一個以上的值搭配使用,dir 會只顯示那些符合所有指定屬性的檔名。例如,如果您使用 /a:r-h 或 /ar-h 指定了 /a 參數與屬性值 r 及 -h,則 dir 只會顯示不具隱藏屬性之唯讀檔案的名稱。
•     

指定檔名排序

如果您指定不止一個 SortOrder 值,dir 會先依循第一個標準排序檔名,然後再依循第二個標準排序,以此類推。例如,您如果使用 /o:e-s 或 /oe-s 指定 /o 參數,搭配 SortOrder 的 e 及 -s 值,則 dir 會依副檔名 (從最大的檔案開始排序目錄名稱與檔名),並顯示最後的結果。依副檔名的英文字母排序會先顯示不具副檔名的檔名,然後再顯示目錄名稱,最後才會顯示含副檔名的檔名。
•     

使用重新導向符號及管道

當您使用重新導向符號 (>) 將 dir 輸出傳送到檔案中,或是使用管道 (|) 將 dir 輸出傳送給另一項命令時,您可以使用 /a:-d 及 /b 參數,只將檔名列出。您可以搭配使用 FileName 與 /b、/s,指定 dir 從目前的目錄及其子目錄中,搜尋所有符合 FileName 的檔名。Dir 只會列出其所尋找之各檔名的磁碟機代號、目錄名稱、檔名及副檔名,每行一個路徑。在使用管道進行重新導向之前,您應在 Autoexec.nt 檔案中設定 TEMP 環境變數。
•     

預先設定 dir 參數

您可以在 Autoexec.nt 檔案中納入內含 DIRCMD 環境變數的 set,預先設定 dir 參數。您可以使用任何正確的 dir 參數與 set dircmd 組合 (含檔案的位置及名稱)。

例如,若要使用 DIRCMD 環境變數將橫向顯示格式 (/w) 設定為預設格式,請將下列命令輸入您的 Autoexec.nt 檔案中:

set dircmd=/w

若為單一使用 dir 命令,您可以使用 DIRCMD 環境變數來覆寫參數。若要執行此操作,請在 dir 命令提示字元中輸入要覆寫的參數,並在參數前加上減號。例如:

dir /-w

若要變更 DIRCMD 預設值,請輸入:

set=NewParameter

新預設值會一直作用在後續鍵入的 dir 命令上,直到您再次使用 set dircmd,或是重新啟動電腦為止。

若要清除全部預設值,請輸入:

set dircmd=

若要檢視 DIRCMD 環境變數的目前設定,請輸入:

set

Set 會列出環境變數及其設定。關於設定環境變數的相關資訊,請參閱 [相關主題]。
•     

您可從 [修復主控台] 中使用不同參數的 dir 命令。
Examples

若要顯示全部目錄 (一個接一個依英數順序以寬格式顯示,並在每一螢幕之後暫停),請確定根目錄為目前目錄,然後輸入:

dir /s/w/o/p

Dir 會列出根目錄的名稱、根目錄下的子目錄名稱,以及根目錄中的檔名 (含副檔名)。然後,dir 會列出樹狀目錄中,各子目錄下之子目錄名稱及檔名。

若要變更前述範例,使 dir 只顯示檔名及副檔名,而不顯示目錄名稱,請輸入下列命令:

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

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

ir > prn

如果指定 prn,則目錄清單會傳送到與 LPT1 連接埠連接的印表機。如果印表機改連到其它的連接埠,您必須以正確的連接埠名稱取代 prn。

您也可改以檔名取代 prn,將 dir 命令的輸出重新導向檔案。您還可以輸入路徑。例如,您若要將 dir 的輸出導向 Records 目錄的 Dir.doc 檔案中,請輸入下列命令:

dir > \records\dir.doc

如果 Dir.doc 不存在,且除非 Records 目錄也不存在,否則 dir 會自動建立。在該情況下,會出現下列訊息:

File creation error

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

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

Dir 會以橫向格式依字母順序列出各目錄中相符的檔名,並在填滿一個螢幕之後暫停,直到您按任意鍵才會繼續。