【matlab】matlab dir function

dir

列出文件夾內容

語法

dir
dir name
listing = dir(name)

說明

dir 列出當前文件夾中的文件和文件夾。

dir name 列出與 name 匹配的文件和文件夾。如果 name 爲文件夾,dir 列出該文件夾的內容。使用絕對或相對路徑名稱指定 namename 參數的文件名可以包含 * 通配符,路徑名稱可以包含 *** 通配符。與 ** 通配符相鄰的字符必須爲文件分隔符。

listing = dir(name) 返回 name 的屬性。

示例

列出文件夾的內容。

創建文件夾 myfolder,其中包含文件 myfile1.mmyfile2.mmyfile3.m

mkdir myfolder
movefile myfile1.m myfolder
movefile myfile2.m myfolder
movefile myfile3.m myfolder

列出 myfolder 中的文件。

輸入:

dir myfolder

結果:

.          ..         myfile1.m  myfile2.m  myfile3.m 

查找與指定名稱匹配的文件

列出包含詞語 my 且擴展名爲 .m 的所有文件。

創建文件夾 myfolder,其中包含文件 myfile1.mmyfile2.mmyfile3.txt

mkdir myfolder
movefile myfile1.m myfolder
movefile myfile2.m myfolder
movefile myfile3.txt myfolder

列出 myfolder 中符合條件的文件。

輸入:

cd myfolder
dir *my*.m

輸出:

myfile1.m  myfile2.m 

在子文件夾中查找文件

列出當前文件夾中和當前文件夾的所有子文件夾中的所有文件。

創建文件夾 myfolder1,其中包含以下文件和文件夾:

myfile1.m
myfolder2
     myfile2.m
     myfolder3.m
         myfile3.m
mkdir myfolder1
mkdir myfolder1/myfolder2
mkdir myfolder1/myfolder2/myfolder3

movefile myfile1.m myfolder1
movefile myfile2.m myfolder1/myfolder2
movefile myfile3.m myfolder1/myfolder2/myfolder3

列出 myfolder1 中和 myfolder1 的子文件夾中擴展名爲 .m 的所有文件。

輸入:

cd myfolder1
dir **/*.m

輸出:

Files Found in Current Folder:

myfile1.m  

Files Found in: myfolder2

myfile2.m  

Files Found in: myfolder2/myfolder3

myfile3.m  

在返回結構體中查找信息

myfolder 的文件夾列表返回給變量 MyFolderInfo

創建文件夾 myfolder,其中包含文件 myfile1.mmyfile2.mmyfile3.m

mkdir myfolder
movefile myfile1.m myfolder
movefile myfile2.m myfolder
movefile myfile3.m myfolder

獲取 myfolder 中文件的列表。MATLAB 以結構體數組形式返回信息。

MyFolderInfo = dir('myfolder')
MyFolderInfo = 5x1 struct array with fields:
    name
    folder
    date
    bytes
    isdir
    datenum

創建結構體索引以訪問特定項目。

輸入:

MyFolderInfo(3).name

輸出:

ans = 
'myfile1.m'

查找文件的上次修改日期

獲取文件上次修改日期和時間的日期序列值。

使用 dir 命令返回的結構體的 datenum 字段。不要使用 datenum 函數將結構體的 date 字段轉換爲數字。datenum 函數的結果根據具體區域設置而有所不同。在這種情況下,應使用 datenum 字段。

輸入:

MyFileInfo = dir('myfile1.m');
FileDate = MyFileInfo.datenum
FileDate = 7.3647e+05

輸入參數

name - 文件或文件夾名稱
字符向量|字符串向量

輸出參數

listing - 文件屬性
結構體數組

文件屬性,以 nx1 結構體數組形式返回,其中 ndir 命令返回的文件和文件夾的數量。

下表顯示了結構體中的字段。

字段名稱 說明
name 文件或文件夾名稱 char
folder 文件或文件夾的位置 char
date 修改日期時間戳 char
bytes 文件大小(以字節爲單位) double
isdir 如果名稱爲文件夾,則爲 1;如果名稱爲文件,則爲 0 logical
datenum 修改日期是一個日期序列值。 double

提示

  • 要排除 dir 命令返回的無效條目,請使用 cellfun 函數。
MyFolderInfo = dir; 
MyFolderInfo = MyFolderInfo(~cellfun('isempty', {MyFolderInfo.date})); 

若運行帶有輸出參數的 dir 且結果包括不存在的文件或 dir 因爲某種其他原因無法查詢的文件,會出現無效條目。在這種情況下,dir 返回以下默認值。

date: '' 
bytes: [] 
isdir: 0 
datenum: [] 

dir 查詢的符號鏈接指向不存在的目標時,UNIX® 平臺上常出現無效條目。不存在的目標是指被移動、被刪除或被重命名的目標。

  • 要獲取 Microsoft Windows 平臺上可用驅動器的列表,請在命令行中使用 DOS net use 命令。
dos('net use')

或者鍵入

[s,r] = dos('net use')

MATLAB 返回字符數組 r 的結果。

另請參閱

cd | fileattrib | isfolder | ls | mkdir | rmdir | what

參考鏈接

參考鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章