最近想用dos命令打印指定目錄下的所有文件夾的完整路徑。最終發現可用dir命令來實現。在此學習下dir的各項命令。
32位win7系統上,打印幫助文檔。
D:\test>dir /? 顯示目錄中的文件和子目錄列表。 DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4] [drive:][path][filename] 指定要列出的驅動器、目錄和/或文件。 /A 顯示具有指定屬性的文件。 屬性 D 目錄 R 只讀文件 H 隱藏文件 A 准備存檔的文件 S 系統文件 I 無內容索引文件 L 解析點 - 表示“否”的前綴 /B 使用空格式(沒有標題信息或摘要)。 /C 在文件大小中顯示千位數分隔符。這是默認值。用 /-C 來 禁用分隔符顯示。 /D 跟寬式相同,但文件是按欄分類列出的。 /L 用小寫。 /N 新的長列表格式,其中文件名在最右邊。 /O 用分類順序列出文件。 排列順序 N 按名稱(字母順序) S 按大小(從小到大) E 按擴展名(字母順序) D 按日期/時間(從先到后) G 組目錄優先 - 反轉順序的前綴 /P 在每個信息屏幕后暫停。 /Q 顯示文件所有者。 /R 顯示文件的備用數據流。 /S 顯示指定目錄和所有子目錄中的文件。 /T 控制顯示或用來分類的時間字符域。 時間段 C 創建時間 A 上次訪問時間 W 上次寫入的時間 /W 用寬列表格式。 /X 顯示為非 8.3 文件名產生的短名稱。格式是 /N 的格式, 短名稱插在長名稱前面。如果沒有短名稱,在其位置則 顯示空白。 /4 用四位數字顯示年 可以在 DIRCMD 環境變量中預先設定開關。通過添加前綴 - (破折號)
示例:
1、顯示當前路徑下的所有文件的絕對路徑,包含子文件夾中的內容
D:\test>dir /b /s /o:n /a:a
D:\test\a.txt
D:\test\b.txt
D:\test\c.txt
D:\test\a\a.txt
D:\test\b\b.txt
D:\test\c\c.txt
說明:
/b表示去除摘要信息,且頂格顯示完整路徑
/s表示枚舉嵌套文件夾中的內容
/o:n 表示根據文件名排序
/a:a 表示只枚舉文件而不枚舉其他
備注:單獨dir /b與dir /s 都不會顯示完整路徑,只有這兩個組合才會顯示完整路徑。
2、顯示當前路徑下所有文件的目錄的絕對路徑
D:\test>dir /b /s /a:d
D:\test\a
D:\test\b
D:\test\c
3、顯示當前目錄下所有的指定文件名稱
當然這里也可以查找模糊查詢,如*.txt
D:\test>dir /p/s a.txt 驅動器 D 中的卷沒有標簽。 卷的序列號是 0006-7E93 D:\test 的目錄 2016/10/14 16:59 3 a.txt 1 個文件 3 字節 D:\test\a 的目錄 2016/10/14 16:59 3 a.txt 1 個文件 3 字節 所列文件總數: 2 個文件 6 字節 0 個目錄 94,208,172,032 可用字節
嵌套文件夾下的所有的內容都被查詢出來。