【Windows】Windows中解析DOS的DIR命令使用
阿新 • • 發佈:2018-04-06
命令 pat 分享 -h tro 名稱 鏈接 txt tle
總結一下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: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 可用字節
嵌套文件夾下的所有的內容都被查詢出來。
4、遍歷當前文件夾下的所有的文件名
@echo off
rem 啟用延遲變量
setlocal enabledelayedexpansion
set /a v=1
for /f "delims=/" %%i in (‘dir /b/a-d/oN *.*‘) do (
set /a v+=1
@echo 第!v!個文件名:%%i
)
pause
這裏之所以使用/作為分割符,是因為文件名是不能使用/符號的。分割的必然得到的是一個完整的名稱。如果只想得到文件名,去除文件後綴,可以進行如下修改:
@echo off
rem 啟用延遲變量
setlocal enabledelayedexpansion
set /a v=1
for /f "delims=." %%i in (‘dir /b/a-d/oN *.*‘) do (
set /a v+=1
@echo 第!v!個文件名:%%i
)
pause
這裏使用"."作為分割符,就是為了就是為了只顯示文件的名稱,但是如果一個文件名中有幾個“.”符號的話,那麽上面這種方法就不適用了。
原文鏈接:windows的dir命令
【Windows】Windows中解析DOS的DIR命令使用