標籤:環境變數 分享圖片 排列 禁用 建立時間 命令 oca title 符號
總結一下cmd中的dir命令的用法
64位win10系統上,列印協助文檔。
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:aD:\test\a.txtD:\test\b.txtD:\test\c.txtD:\test\a\a.txtD:\test\b\b.txtD:\test\c\c.txt
說明:
/b表示去除摘要資訊,且頂格顯示完整路徑
/s表示枚舉嵌套檔案夾中的內容
/o:n 表示根據檔案名稱排序
/a:a 表示只枚舉檔案而不枚舉其他
備忘:單獨dir /b與dir /s 都不會顯示完整路徑,只有這兩個組合才會顯示完整路徑。
2、顯示當前路徑下所有檔案的目錄的絕對路徑
D:\test>dir /b /s /a:dD:\test\aD:\test\bD:\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 可用位元組
嵌套檔案夾下的所有的內容都被查詢出來。
4、遍曆當前檔案夾下的所有的檔案名稱
@echo offrem 啟用延遲變數setlocal enabledelayedexpansion set /a v=1for /f "delims=/" %%i in (‘dir /b/a-d/oN *.*‘) do ( set /a v+=1 @echo 第!v!個檔案名稱:%%i)pause
這裡之所以使用/作為分割符,是因為檔案名稱是不能使用/符號的。分割的必然得到的是一個完整的名稱。如果只想得到檔案名稱,去除檔案尾碼,可以進行如下修改:
@echo offrem 啟用延遲變數setlocal enabledelayedexpansion set /a v=1for /f "delims=." %%i in (‘dir /b/a-d/oN *.*‘) do ( set /a v+=1 @echo 第!v!個檔案名稱:%%i)pause
這裡使用"."作為分割符,就是為了就是為了只顯示檔案的名稱,但是如果一個檔案名稱中有幾個“.”符號的話,那麼上面這種方法就不適用了。
原文連結:windows的dir命令
【Windows】Windows中解析DOS的DIR命令使用