1. 程式人生 > >【Windows】Windows中解析DOS的DIR命令使用

【Windows】Windows中解析DOS的DIR命令使用

命令 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命令使用