> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WdDeleteSearchOptions

> WdDeleteSearchOptions 的參考資料，用於設定包含與排除模式以及屬性篩選條件，以選取要使用 WdDeleteRemoteFiles 刪除的項目。

# WdDeleteSearchOptions

指定刪除作業的檔案與目錄篩選模式。

**推出版本：** [RIT 0.0.13-preview](/zh-TW/reference/remoting/release-versions#release-versions)。

## 語法

```cpp theme={null}
struct WdDeleteSearchOptions
{
    const char* includeFilePattern;
    const char* excludeFilePattern;
    const char* excludeDirPattern;
    uint64_t includeFileAttributes;
    uint64_t excludeFileAttributes;
    uint64_t includeDirAttributes;
    uint64_t excludeDirAttributes;
};
```

### 成員

`includeFilePattern`\
類型：**const char\***

包含符合指定名稱的檔案。支援萬用字元 `*` 和 `?`，多個模式可以使用分號 (`;`) 分隔。預設值為 `nullptr`，表示包含所有項目。

`excludeFilePattern`\
類型：**const char\***

排除符合指定名稱的檔案。支援萬用字元 `*` 和 `?`，多個模式可以使用分號 (`;`) 分隔。預設值為 `nullptr`，表示不排除任何檔案。

`excludeDirPattern`\
類型：**const char\***

排除符合指定名稱 (而非路徑) 的目錄。支援萬用字元 `*` 和 `?`。預設值為 `nullptr`，表示不會將任何目錄排除在刪除範圍之外。

`includeFileAttributes`\
類型：**uint64\_t**

包含已設定任一指定檔案屬性的檔案。支援的值為 `FILE_ATTRIBUTE_READONLY`、`FILE_ATTRIBUTE_ARCHIVE`、`FILE_ATTRIBUTE_SYSTEM` 和 `FILE_ATTRIBUTE_HIDDEN`。預設值為 `0`，表示包含所有屬性。如需檔案屬性的其他資訊，請參閱[檔案屬性常數](https://learn.microsoft.com/windows/win32/fileio/file-attribute-constants)。

`excludeFileAttributes`\
類型：**uint64\_t**

排除已設定任一指定檔案屬性的檔案。支援的值為 `FILE_ATTRIBUTE_READONLY`、`FILE_ATTRIBUTE_ARCHIVE`、`FILE_ATTRIBUTE_SYSTEM` 和 `FILE_ATTRIBUTE_HIDDEN`。預設值為 `0`，表示不排除任何屬性。如需檔案屬性的其他資訊，請參閱[檔案屬性常數](https://learn.microsoft.com/windows/win32/fileio/file-attribute-constants)。

`includeDirAttributes`\
類型：**uint64\_t**

包含已設定任一指定檔案屬性的目錄。支援的值為 `FILE_ATTRIBUTE_READONLY`、`FILE_ATTRIBUTE_ARCHIVE`、`FILE_ATTRIBUTE_SYSTEM` 和 `FILE_ATTRIBUTE_HIDDEN`。預設值為 `0`，表示包含所有屬性。

`excludeDirAttributes`\
類型：**uint64\_t**

排除已設定任一指定檔案屬性的目錄。支援的值為 `FILE_ATTRIBUTE_READONLY`、`FILE_ATTRIBUTE_ARCHIVE`、`FILE_ATTRIBUTE_SYSTEM` 和 `FILE_ATTRIBUTE_HIDDEN`。預設值為 `0`，表示不排除任何屬性。

## 範例

**只刪除 `.pdb` 和 `.log` 檔案：**

```cpp theme={null}
WdDeleteSearchOptions searchOptions = {
    .includeFilePattern = "*.pdb;*.log",
    .excludeFilePattern = nullptr,
    .excludeDirPattern = nullptr,
    .includeFileAttributes = 0,
    .excludeFileAttributes = 0,
    .includeDirAttributes = 0,
    .excludeDirAttributes = 0
};
```

**刪除儲存資料目錄以外的所有項目：**

```cpp theme={null}
WdDeleteSearchOptions searchOptions = {
    .includeFilePattern = nullptr,
    .excludeFilePattern = nullptr,
    .excludeDirPattern = "SaveData",
    .includeFileAttributes = 0,
    .excludeFileAttributes = 0,
    .includeDirAttributes = 0,
    .excludeDirAttributes = 0
};
```

**刪除已封存的檔案，但保留唯讀檔案和隱藏目錄：**

```cpp theme={null}
WdDeleteSearchOptions searchOptions = {
    .includeFilePattern = nullptr,
    .excludeFilePattern = nullptr,
    .excludeDirPattern = nullptr,
    .includeFileAttributes = FILE_ATTRIBUTE_ARCHIVE,
    .excludeFileAttributes = FILE_ATTRIBUTE_READONLY,
    .includeDirAttributes = 0,
    .excludeDirAttributes = FILE_ATTRIBUTE_HIDDEN
};
```

> \[!NOTE]\
> 當包含與排除模式之間發生衝突時，排除模式優先，該項目不會被刪除。

## 備註

透過 `searchOptions` 參數將此結構傳遞給 [WdDeleteRemoteFiles](/zh-TW/reference/remoting/functions/wddeleteremotefiles)，以篩選要選取刪除的檔案與目錄。如果為 `searchOptions` 傳遞 `nullptr`，則會包含所有項目，不進行任何篩選。

這些選項只在 `remoteFolderPath` 解析為資料夾時適用。當 `remoteFolderPath` 解析為單一檔案時，會忽略這些選項。

即使在 [WdDeleteOptions](/zh-TW/reference/remoting/structs/wddeleteoptions) 中將 `deleteRootFolder` 設為 `true`，留下部分項目的篩選刪除仍會保留根資料夾，因為只有在資料夾已清空時才會移除該資料夾。

## 需求

| 需求 | 值 |
| - | - |
| **標頭** | WdRemoteIteration.h |
| **程式庫** | wdremoteapi.lib |
| **支援的作業系統** | Windows 11 及更新版本 |
| **支援的架構** | x64、ARM64 |

## 另請參閱

* [WdDeleteRemoteFiles](/zh-TW/reference/remoting/functions/wddeleteremotefiles)
* [WdDeleteOptions](/zh-TW/reference/remoting/structs/wddeleteoptions)
* [XBOX PC 遠端反覆運算 API](/zh-TW/reference/remoting/remoteiteration_members)


## Related topics

- [WdDeleteSearchOptions](/reference/remoting/structs/wddeletesearchoptions.md)
- [WdDeleteOptions](/reference/remoting/structs/wddeleteoptions.md)
- [WdDeleteRemoteFiles](/reference/remoting/functions/wddeleteremotefiles.md)
- [XBOX PC Remote Iteration API](/reference/remoting/remoteiteration_members.md)
- [WdCopySearchOptions](/reference/remoting/structs/wdcopysearchoptions.md)
