列出目錄和檔案
List Directories and Files
作業會傳回指定之共用或目錄底下的檔案或目錄清單。 它只會列出目錄階層的單一層級內容。 啟用 NFS 通訊協定的檔案共用版本 2025-05-05 和更新版本支援這項作業。
通訊協定可用性
已啟用檔案共享通訊協定 | 可用 |
---|---|
SMB |
![]() |
NFS |
![]() |
請求
List Directories and Files
要求建構方式如下。 建議您使用 HTTPS。
方法 | 要求 URI | HTTP 版本 |
---|---|---|
獲取 | https://myaccount.file.core.windows.net/myshare/mydirectorypath?restype=directory&comp=list |
HTTP/1.1 |
獲取 | https://myaccount.file.core.windows.net/myshare/mydirectorypath?restype=directory&sharesnapshot=<DateTime>&comp=list |
HTTP/1.1 |
以您自己的方式取代要求 URI 中顯示的路徑元件,如下所示:
路徑元件 | 描述 |
---|---|
myaccount |
記憶體帳戶的名稱。 |
myshare |
檔案共享的名稱。 |
mydirectorypath |
目錄的路徑。 |
如需路徑命名限制的詳細資訊,請參閱 命名和參考共用、目錄、檔案和元資料。
URI 參數
您可以在 URI 上指定下列其他參數。
一般 URI 參數
參數 | 描述 |
---|---|
prefix |
自選。 版本 2016-05-31 和更新版本。 篩選結果,只傳回名稱開頭為指定前置詞的檔案和目錄。 |
sharesnapshot |
自選。 版本 2017-04-17 和更新版本。 共用快照集參數是一個不透明的 DateTime 值,當存在時,會指定要查詢檔案和目錄清單的共用快照集。 |
marker |
自選。 字串值,識別要與下一個清單作業一起傳回的清單部分。 如果傳回的清單未完成,此作業會傳回響應主體內的標記值。 接著,您可以使用後續呼叫中的標記值來要求下一組清單專案。 標記值對用戶端不透明。 |
maxresults |
自選。 指定要傳回的檔案或目錄數目上限。 如果要求未指定 maxresults ,或指定大於 5,000 的值,則伺服器最多會傳回 5,000 個專案。將 maxresults 設定為小於或等於零的值,會導致錯誤回應碼 400 (不正確的要求)。 |
timeout |
自選。
timeout 參數是以秒為單位來表示。 如需詳細資訊,請參閱 設定 Azure 檔案服務作業逾時。 |
僅限 SMB 的 URI 參數
參數 | 描述 |
---|---|
include={Timestamps, ETag, Attributes, PermissionKey} |
選擇性地從 2020-04-08 版開始提供。 指定要包含在回應中的一或多個屬性:
若要在 URI 上指定多個選項,您必須以 URL 編碼的逗號分隔每個選項( %82 )。指定此參數時,會隱含假設標頭 x-ms-file-extended-info 為 true。 |
僅限 NFS URI 參數
沒有。
要求標頭
下表說明必要和選擇性的要求標頭:
常見的要求標頭
要求標頭 | 描述 |
---|---|
Authorization |
必填。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱 授權對 Azure 記憶體的要求。 |
Date 或 x-ms-date |
必填。 指定要求的國際標準時間(UTC)。 如需詳細資訊,請參閱 授權對 Azure 記憶體的要求。 |
x-ms-version |
所有已授權要求的必要專案。 指定要用於此要求的作業版本。 啟用 NFS 通訊協定的檔案共用版本 2025-05-05 和更新版本支援這項作業。 如需詳細資訊,請參閱 Azure 記憶體服務的版本設定。 |
x-ms-client-request-id |
自選。 提供客戶端產生的不透明值,其中包含設定記錄時記錄的 1-kibibyte (KiB) 字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器接收的要求相互關聯。 如需詳細資訊,請參閱 監視 Azure 檔案服務。 |
x-ms-file-request-intent |
如果 Authorization 標頭指定 OAuth 令牌,則為必要項。 可接受的值為 backup 。 此標頭指定,如果 Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action 或 Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action 包含在指派給使用 Authorization 標頭授權的身分識別中,則應該授與這些 Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action 。 適用於 2022-11-02 版和更新版本。 |
x-ms-allow-trailing-dot: { <Boolean> } |
自選。 版本 2022-11-02 和更新版本。 布爾值會指定是否應該修剪要求 URL 中的尾端點。 如果目標位於已啟用 NFS 通訊協定的檔案共用上,預設支援尾端點,則會忽略此標頭。 如需詳細資訊,請參閱 命名和參考共用、目錄、檔案和元資料。 |
僅限SMB要求標頭
要求標頭 | 描述 |
---|---|
x-ms-file-extended-info: {true} |
自選。 版本 2020-04-08 和更新版本。 如果 include 查詢參數不是空的,則隱含假設此標頭為 true。 如果為 true,表示檔案大小的檔案 Content-Length 屬性將會是最新的。 |
僅限 NFS 要求標頭
沒有。
要求本文
沒有。
回應
回應包含 HTTP 狀態代碼、一組響應標頭,以及 XML 格式的回應本文。
狀態代碼
成功的作業會傳回狀態代碼 200 (確定)。 如您需狀態代碼的相關資訊,請參閱 狀態和錯誤碼。
回應標頭
此作業的回應包含下表中的標頭。 回應也可以包含額外的標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協定規格,。
常見的響應標頭
回應標頭 | 描述 |
---|---|
Content-Type |
指定傳回結果的格式。 目前這個值是 application/xml 。 |
x-ms-request-id |
此標頭可唯一識別已提出的要求,並可用於對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答。 |
x-ms-version |
指出用來執行要求的 Azure 檔案服務版本。 |
Date 或 x-ms-date |
UTC 日期/時間值,指出起始響應的時間。 服務會產生此值。 |
x-ms-client-request-id |
您可以使用此標頭來針對要求和對應的回應進行疑難解答。 如果要求中有 x-ms-client-request-id 標頭的值,則此標頭的值等於 。 此值最多為1024個可見的ASCII字元。 如果要求中沒有 x-ms-client-request-id 標頭,此標頭就不會出現在回應中。 |
僅限SMB回應標頭
沒有。
僅限 NFS 回應標頭
沒有。
回應本文
XML 回應的格式如下所示。
只有在您在要求 URI 上指定 Marker
、ShareSnapshot
和 MaxResults
元素時,才會存在。 只有當清單結果未完成時,NextMarker
元素才會有值。
檔案清單中會傳回 Content-Length
專案,指出檔案的大小。 不過,此值可能不會 up-to-date,因為SMB或 NFS 用戶端可能已在本機修改檔案。
Content-Length
的值可能不會反映事實,直到句柄關閉,或SMB作業鎖定中斷為止。 若要擷取目前的屬性值,請針對已啟用SMB通訊協定的檔案共用上的目錄使用 x-ms-file-extended-info: true
,或針對特定檔案呼叫 取得檔案屬性。
在 2021-12-02 版和更新版本中,List Directory and Files
會以百分比編碼(每個 RFC 2396)全部 File
Name
、Directory
Name
、Prefix
或 DirectoryPath
元素值,這些值在 XML 中包含無效字元(特別是 U+FFFE 或 U+FFFF)。 如果編碼,Name
、Prefix
或 EnumerationResults
元素將會包含 Encoded=true
屬性。 這隻會針對 XML 中含有無效字元的 Name
專案值發生,而不是回應中的其餘 Name
專案。
已啟用SMB通訊協定之檔案共享的回應本文
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="https://myaccount.file.core.windows.net/" ShareName="myshare" ShareSnapshot="date-time" DirectoryPath="directory-path">
<Marker>string-value</Marker>
<Prefix>string-value</Prefix>
<MaxResults>int-value</MaxResults>
<DirectoryId>directory-id</DirectoryId>
<Entries>
<File>
<FileId>file-id</FileId>
<Name>file-name</Name>
<Properties>
<Content-Length>size-in-bytes</Content-Length>
<CreationTime>datetime</CreationTime>
<LastAccessTime>datetime</LastAccessTime>
<LastWriteTime>datetime</LastWriteTime>
<ChangeTime>datetime</ChangeTime>
<Last-Modified>datetime</Last-Modified>
<Etag>etag</Etag>
</Properties>
<Attributes>Archive|Hidden|Offline|ReadOnly</Attributes>
<PermissionKey>4066528134148476695*1</PermissionKey>
</File>
<Directory>
<FileId>file-id</FileId>
<Name>directory-name</Name>
<Properties>
<CreationTime>datetime</CreationTime>
<LastAccessTime>datetime</LastAccessTime>
<LastWriteTime>datetime</LastWriteTime>
<ChangeTime>datetime</ChangeTime>
<Last-Modified>datetime</Last-Modified>
<Etag>etag</Etag>
</Properties>
<Attributes>Archive|Hidden|Offline|ReadOnly</Attributes>
<PermissionKey>4066528134148476695*1</PermissionKey>
</Directory>
</Entries>
<NextMarker />
</EnumerationResults>
在 2020-04-08、2020-06-12 和 2020-08-04 版中,如果標頭 FileId
為 true,則會傳回檔案和目錄 x-ms-file-extended-info
。 在 2020-10-02 版和更新版本中,檔案和目錄一律會傳回 FileId
。
在 2020-04-08 版中,include={timestamps}
會傳回下列時間戳屬性:CreationTime
、LastAccessTime
和 LastWriteTime
。 在版本 2020-06-12
和更新版本中,include={timestamps}
會傳回下列時間戳屬性:CreationTime
、LastAccessTime
、LastWriteTime
、ChangeTime
和 Last-Modified
。
在 2020-10-02 版和更新版本中,回應中會傳回 DirectoryId
。 它會指定呼叫 API 的目錄 FileId
。
已啟用 NFS 通訊協定之檔案共享的回應本文
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="https://myaccount.file.core.windows.net/" ShareName="myshare" ShareSnapshot="date-time" DirectoryPath="directory-path">
<Marker>string-value</Marker>
<Prefix>string-value</Prefix>
<MaxResults>int-value</MaxResults>
<DirectoryId>directory-id</DirectoryId>
<Entries>
<File>
<FileId>file-id</FileId>
<Name>file-name</Name>
<Properties>
<Content-Length>size-in-bytes</Content-Length>
</Properties>
</File>
<Directory>
<FileId>file-id</FileId>
<Name>directory-name</Name>
</Directory>
</Entries>
<NextMarker />
</EnumerationResults>
時間戳欄位的日期時間格式和 API 版本
元素 | 日期時間格式 | 範例值 | API 版本 |
---|---|---|---|
CreationTime |
ISO 8601 | 2020-09-17T13:38:03.2740000Z |
2020-04-08 和更新版本 |
LastAccessTime |
ISO 8601 | 2020-09-17T13:38:03.2740000Z |
2020-04-08 和更新版本 |
LastWriteTime |
ISO 8601 | 2020-09-17T13:38:03.2740000Z |
2020-04-08 和更新版本 |
ChangeTime |
ISO 8601 | 2020-09-17T13:38:03.2740000Z |
2020-06-12 和更新版本 |
Last-Modified |
RFC 1123 | Thu, 17 Sep 2020 13:38:07 GMT |
2020-06-12 和更新版本 |
授權
只有帳戶擁有者可以呼叫這項作業。
言論
Content-Length
項目中傳回的值會對應至檔案 x-ms-content-length
標頭的值。
每個傳回 Directory
專案都會計入結果上限,就像每個 File
項目一樣。 檔案和目錄會以語彙排序順序在回應本文中。
清單僅限於目錄階層的單一層級。 若要列出多個層級,您可以反覆進行多個呼叫。 使用從結果傳回的 Directory
值,後續呼叫 List Directories and Files
。
另請參閱
目錄上的 作業