> ## 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

> WdDeleteRemoteFiles で削除する項目を選択するための包含/除外パターンと属性フィルターを設定する WdDeleteSearchOptions のリファレンスです。

# WdDeleteSearchOptions

削除操作のファイルとディレクトリのフィルター パターンを指定します。

**導入バージョン:** [RIT 0.0.13-preview](/ja-jp/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`\
Type: **const char\***

指定した名前に一致するファイルを含めます。ワイルドカード文字 `*` と `?` がサポートされており、複数のパターンをセミコロン (`;`) で区切って指定できます。既定値は `nullptr` で、すべてが含まれます。

`excludeFilePattern`\
Type: **const char\***

指定した名前に一致するファイルを除外します。ワイルドカード文字 `*` と `?` がサポートされており、複数のパターンをセミコロン (`;`) で区切って指定できます。既定値は `nullptr` で、ファイルは除外されません。

`excludeDirPattern`\
Type: **const char\***

指定した名前 (パスではありません) に一致するディレクトリを除外します。ワイルドカード文字 `*` と `?` がサポートされています。既定値は `nullptr` で、削除対象から除外されるディレクトリはありません。

`includeFileAttributes`\
Type: **uint64\_t**

指定したファイル属性のいずれかが設定されているファイルを含めます。サポートされている値は、`FILE_ATTRIBUTE_READONLY`、`FILE_ATTRIBUTE_ARCHIVE`、`FILE_ATTRIBUTE_SYSTEM`、`FILE_ATTRIBUTE_HIDDEN` です。既定値は `0` で、すべての属性が含まれます。ファイル属性の詳細については、「[File Attribute Constants](https://learn.microsoft.com/windows/win32/fileio/file-attribute-constants)」を参照してください。

`excludeFileAttributes`\
Type: **uint64\_t**

指定したファイル属性のいずれかが設定されているファイルを除外します。サポートされている値は、`FILE_ATTRIBUTE_READONLY`、`FILE_ATTRIBUTE_ARCHIVE`、`FILE_ATTRIBUTE_SYSTEM`、`FILE_ATTRIBUTE_HIDDEN` です。既定値は `0` で、除外される属性はありません。ファイル属性の詳細については、「[File Attribute Constants](https://learn.microsoft.com/windows/win32/fileio/file-attribute-constants)」を参照してください。

`includeDirAttributes`\
Type: **uint64\_t**

指定したファイル属性のいずれかが設定されているディレクトリを含めます。サポートされている値は、`FILE_ATTRIBUTE_READONLY`、`FILE_ATTRIBUTE_ARCHIVE`、`FILE_ATTRIBUTE_SYSTEM`、`FILE_ATTRIBUTE_HIDDEN` です。既定値は `0` で、すべての属性が含まれます。

`excludeDirAttributes`\
Type: **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](/ja-jp/reference/remoting/functions/wddeleteremotefiles) に渡します。`searchOptions` に `nullptr` を渡した場合は、フィルター処理なしですべての項目が含まれます。

これらのオプションは、`remoteFolderPath` がフォルダーに解決される場合にのみ適用されます。`remoteFolderPath` が単一のファイルに解決される場合は無視されます。

フォルダーは空になった場合にのみ削除されるため、フィルター処理された削除によって項目が残った場合は、[WdDeleteOptions](/ja-jp/reference/remoting/structs/wddeleteoptions) で `deleteRootFolder` が `true` に設定されていても、ルート フォルダーは保持されます。

## 要件

| 要件 | 値 |
| - | - |
| **ヘッダー** | WdRemoteIteration.h |
| **ライブラリ** | wdremoteapi.lib |
| **サポートされている OS** | Windows 11 以降 |
| **サポートされているアーキテクチャ** | x64、ARM64 |

## 関連項目

* [WdDeleteRemoteFiles](/ja-jp/reference/remoting/functions/wddeleteremotefiles)
* [WdDeleteOptions](/ja-jp/reference/remoting/structs/wddeleteoptions)
* [XBOX PC Remote Iteration API](/ja-jp/reference/remoting/remoteiteration_members)


## Related topics

- [WdDeleteOptions](/ja-jp/reference/remoting/structs/wddeleteoptions.md)
- [WdDeleteRemoteFiles](/ja-jp/reference/remoting/functions/wddeleteremotefiles.md)
- [WdCopySearchOptions](/ja-jp/reference/remoting/structs/wdcopysearchoptions.md)
- [WdRemoteCopy](/ja-jp/reference/remoting/functions/wdremotecopy.md)
- [WdLaunchOptions](/ja-jp/reference/remoting/structs/wdlaunchoptions.md)
