> For the complete documentation index, see [llms.txt](https://chaoses-ib.gitbook.io/directory-opus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chaoses-ib.gitbook.io/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/fsutil.zh.md).

# FSUtil

**FSUtil** 对象提供了一些用于处理文件系统的实用方法。它使用 **DOpus.FSUtil** 方法获取。

<table data-header-hidden><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody><tr><td>方法名称</td><td><strong>参数</strong></td><td>返回值类型</td><td>描述</td><td></td><td></td><td></td><td></td></tr><tr><td>CancelWatchChanges</td><td>&#x3C;string:id></td><td><em>none</em></td><td>取消之前通过调用 <strong>WatchChanges</strong> 方法建立的文件夹或文件更改监视。<strong>id</strong> 参数是在创建监视器时分配给监视器的 ID。</td><td></td><td></td><td></td><td></td></tr><tr><td>ComparePath</td><td>&#x3C;string:path1><br>&#x3C;string:path2><br>&#x3C;string:flags></td><td><em>bool</em></td><td><p>比较提供的两个路径字符串是否相等 - 如果两个路径相等，则返回 <strong>True</strong>，否则返回 <strong>False</strong>。</p><p>可选的 <strong>flags</strong> 参数允许您修改比较行为。此参数是一个字符串，其中包含以下一个或多个字母（区分大小写）：</p><p>&#x3C;string:path><br>&#x3C;string:flags></p></td><td><em>string</em></td><td><p>检索路径的显示名称。这是路径的形式，旨在显示给用户，而不是 Opus 内部使用。例如，对于库路径，它将剥离 Opus 用于标识库成员文件夹的内部 <em>?xxxxxxx</em> 符号。</p><p>可选的 <strong>flags</strong> 参数允许您修改行为。此参数是一个字符串，其中包含以下一个或多个字母（区分大小写）：</p><p><em>none</em></p></td><td><strong>Vector:</strong><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/drive.zh.md"><strong>Drive</strong></a></td><td>返回一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/vector.zh.md"><strong>Vector</strong></a>，其中包含 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/drive.zh.md"><strong>Drive</strong></a> 对象，每个对象对应系统上的一个驱动器。</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>c</strong></td><td>使路径比较 <strong>区分大小写</strong>。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>p</strong></td><td>如果 <em>path2</em> 等于或为 <em>path1</em> 的 <strong>父级</strong>，则返回 <strong>True</strong>。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>DisplayName</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>e</strong></td><td>用于编辑（返回一个用于编辑而不是显示的字符串）</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>f</strong></td><td>文件部分（返回显示文件名而不是整个路径）</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>r</strong></td><td>解析（将库路径解析到其底层文件系统文件夹）</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Drives</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Exists</td><td>&#x3C;string:path><br>&#x3C;string:flags></td><td><em>bool</em></td><td><p>如果指定的文件、文件夹或设备存在，则返回 <strong>True</strong>，否则返回 <strong>False</strong>。</p><p>可选的 <em>flags</em> 参数可以设置为 <strong>w</strong> 以在最终路径组件中使用通配符。</p></td><td></td><td></td><td></td><td></td></tr><tr><td>GetADSNames</td><td>&#x3C;string:path></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/stringset.zh.md"><strong>StringSet</strong></a></td><td>返回一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/stringset.zh.md"><strong>StringSet</strong></a> ，其中包含为指定文件或文件夹找到的任何备用数据流 (ADS) 的名称。</td><td></td><td></td><td></td><td></td></tr><tr><td>GetErrorMsg</td><td>&#x3C;int:error></td><td><em>string</em></td><td>返回系统错误代码的本地化文本描述。</td><td></td><td></td><td></td><td></td></tr><tr><td>GetFolderPair</td><td>&#x3C;string:path><br>&#x3C;string:flags></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/pairedfolder.zh.md"><strong>PairedFolder</strong></a></td><td><p>返回指定文件夹的 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-5/readme.zh/readme.zh-9/paired_folders.zh.md">对</a>，如果存在。可选的标志与为对配置的选项进行比较；它们允许您控制在哪些条件下返回对，以及在配对文件夹不存在时如何处理它。</p><p>&#x3C;string:path></p></td><td><em>object</em>:<a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/item.zh.md"><strong>Item</strong></a></td><td>为指定的 filepath 创建一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/item.zh.md"><strong>Item</strong></a> 对象。</td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>d</strong></td><td>默认双栏文件夹</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>v</strong></td><td>默认导航锁定目标</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>n</strong></td><td>自动打开导航锁定</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>y</strong></td><td>默认同步目标</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>l</strong></td><td>始终在左侧/顶部显示主文件夹</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>u</strong></td><td>使用路径，即使它不存在</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>i</strong></td><td>忽略对</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>g</strong></td><td>上移到第一个存在的父级</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>GetItem</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>GetMetadata</td><td>&#x3C;string:path></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/metadata.zh.md"><strong>Metadata</strong></a></td><td>返回一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/metadata.zh.md"><strong>Metadata</strong></a> 对象，该对象表示指定文件的元数据。</td><td></td><td></td><td></td><td></td></tr><tr><td>GetShellProperty</td><td><p>&#x3C;string:path></p><p>&#x3C;string:property> 或 &#x3C;<a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md"><strong>Map</strong></a>:properties><br>&#x3C;string:type></p></td><td><em>variant</em></td><td><p>返回指定文件的一个或多个 shell 属性的值。</p><p>文件路径必须作为第一个参数提供。</p><p>第二个参数可以是要检索的属性的名称（或 PKEY），在这种情况下，将返回属性值。</p><p>或者，第二个参数可以是 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md"><strong>Map</strong></a> 对象，它允许您一次检索多个属性。您要检索的每个属性都应使用其名称作为键添加到 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md"><strong>Map</strong></a> 中，并使用空字符串作为其值。<strong>Map</strong> 中的值将被属性值替换。</p><p>可选的 <strong>type</strong> 参数是一个字符串，它允许您控制属性是如何按名称查找的（不区分大小写）：</p><p>如果没有指定，原始名称和显示名称都可以匹配。请注意，如果 shell 属性由系统作为 SAFEARRAY 类型返回，它将自动转换为 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/vector.zh.md"><strong>Vector</strong></a> 对象。</p></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>R</strong></td><td>将使用第一个其原始名称匹配的属性。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>D</strong></td><td>将使用第一个其显示名称匹配的属性。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>GetShellPropertyList</td><td>&#x3C;string:pattern><br>&#x3C;string:type></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/shellproperty.zh.md"><strong>ShellProperty</strong></a></td><td><p>返回一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/vector.zh.md"><strong>Vector</strong></a> ，其中包含 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/shellproperty.zh.md"><strong>ShellProperty</strong></a> 对象，这些对象表示系统上可用的所有可能的 shell 属性。</p><p>您可以选择提供一个通配符 <em>pattern</em> 作为第一个参数 - 如果这样做，则只会返回名称与提供的模式匹配的属性。</p><p>可选的 <strong>type</strong> 参数是一个字符串，它允许您进一步限制属性列表（不区分大小写）：</p><p>如果没有指定，原始名称和显示名称都可以匹配。</p><p><strong>type</strong> 参数支持的附加标志是：</p><p>&#x3C;string:path><br>[&#x3C;bool:verify> 或<br>&#x3C;string:flags>]</p></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/signature.zh.md"><strong>Signature</strong></a></td><td><p>对于使用 Authenticode 证书签名的文件（通常是 .exe 和 .dll 文件），返回一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/signature.zh.md"><strong>Signature</strong></a> 对象，该对象描述用于签署该文件的签名。</p><p>默认情况下，签名不会被验证 - 该方法只会简单地提取并返回有关它的信息。可选的 <strong>verify</strong> 参数允许您验证文件的完整性。将此值设置为 <strong>True</strong> 以执行简单的哈希检查（验证文件未被修改，但不检查签名），或使用以下标志来验证签名以及检查文件。</p><p>&#x3C;int:lifetime></p></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/path.zh.md"><strong>Path</strong></a></td><td>创建一个临时文件夹（具有唯一的名称）并返回指向它的路径，在一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/path.zh.md"><strong>Path</strong></a> 对象中。使用此方法创建的临时文件夹具有有限的生命周期，在此之后 Opus 将自动删除它们（它还将在关闭和重新启动时清理它们）。默认生命周期为 20 分钟；您可以使用可选参数更改它。</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>R</strong></td><td>属性原始名称必须与模式匹配。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>D</strong></td><td>属性显示名称必须与模式匹配。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>V</strong></td><td>仅限于可查看属性。可查看属性是那些旨在向用户显示的属性 - 它们与资源管理器列选择器 UI 中显示的属性相同。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>GetSignature</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>n</td><td>无吊销检查</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>c</td><td>检查链中最终证书的吊销</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>C</td><td>检查整个链的吊销</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>R</td><td>检查整个链，不包括根证书</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>h</td><td>仅哈希检查</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>l</td><td>在证书时间戳过期后将证书视为已过期</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>GetTempDirPath</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>GetTempFile</td><td>&#x3C;string:suffix><br>&#x3C;string:prefix><br>&#x3C;string:flags><br>&#x3C;object:window></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/file.zh.md"><strong>File</strong></a></td><td><p>创建一个临时文件并返回一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/file.zh.md"><strong>File</strong></a> 对象，该对象准备写入。</p><p>返回的对象支持读取和写入，无需再次打开文件（尽管您可以这样做，如果这样做更简单）。</p><p>您可以使用 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/file.zh.md"><strong>File</strong></a>.path 属性获取文件的名称。</p><p>可以指定一个可选的文件名 <strong>suffix</strong>；如果没有提供（或传递了空字符串），则默认为 ".tmp"。</p><p>还可以指定一个可选的 <strong>prefix</strong>；如果没有提供（或传递了空字符串），则默认为 "dop"。</p><p>在后缀和前缀之间，Opus 将在名称中插入其它字符以确保其唯一性。</p><p>例如，<strong>DOpus.FSUtil.GetTempFilePath(".txt","cat-")</strong> 可能会为文件路径生成 <em>C:\Users\Leo\AppData\Local\Temp\cat-202106230928470962.txt</em>。</p><p>可选的 <strong>flags</strong> 参数可以包含以下一个或多个字母（不区分大小写）：</p><p>读、写和删除共享模式影响其它进程在文件仍然打开时允许执行的操作。一旦文件关闭（假设它没有自动删除），其它进程总是可以自由地读取、写入或删除文件。</p><p>当使用 delete-on-close 时，其它事物可能无法打开文件，除非他们在打开文件时明确允许删除文件。</p><p>可选的 <strong>window</strong> 参数允许您将 <strong>File</strong> 对象与 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/tab.zh.md"><strong>Tab</strong></a> 或 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/lister.zh.md"><strong>文件窗口</strong></a> 关联，这些对象将在 Opus 需要显示任何对话框时使用（例如，UAC 提升对话框）。</p></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>d</strong></td><td>delete-on-close。文件将在关闭时自动删除。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>p</strong></td><td>允许删除。其它进程可以删除文件。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>r</strong></td><td>可读共享。其它进程可以读取文件。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>w</strong></td><td>可写共享。其它进程可以写入文件。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>GetTempFilePath</td><td>&#x3C;string:suffix><br>&#x3C;string:prefix></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/path.zh.md"><strong>Path</strong></a></td><td><p>创建一个临时文件（具有唯一的名称）并返回指向它的路径，在一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/path.zh.md"><strong>Path</strong></a> 对象中。</p><p>可以指定一个可选的文件名 <strong>suffix</strong>；如果没有提供（或传递了空字符串），则默认为 ".tmp"。</p><p>还可以指定一个可选的 <strong>prefix</strong>；如果没有提供（或传递了空字符串），则默认为 "dop"。</p><p>在后缀和前缀之间，Opus 将在名称中插入其它字符以确保其唯一性。</p><p>例如，<strong>DOpus.FSUtil.GetTempFilePath(".txt","cat-")</strong> 可能会为文件路径生成 <em>C:\Users\Leo\AppData\Local\Temp\cat-202106230928470962.txt</em>。</p></td><td></td><td></td><td></td><td></td></tr><tr><td>GetType</td><td>&#x3C;string:path><br>&#x3C;string:flags></td><td><em>string</em></td><td><p>返回一个字符串，指示指定文件路径的项目类型。如果路径不存在，字符串将为 <strong>file</strong>、<strong>dir</strong> 或 <strong>invalid</strong>。</p><p>可选的 <strong>flags</strong> 参数用于控制对档案的行为。通常，档案将被报告为 <strong>dir</strong>，但是如果您为 flags 参数指定 "<strong>a</strong>"，它将被报告为 <strong>file</strong>。</p><p>此方法不同于 <strong>PathType</strong>，<strong>PathType</strong> 会告诉您底层的“命名空间”类型，而不是仅仅是文件还是文件夹。</p></td><td></td><td></td><td></td><td></td></tr><tr><td>Hash</td><td><p>&#x3C;string:path> 或<br>&#x3C;object:<a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/blob.zh.md"><strong>Blob</strong></a>></p><p>&#x3C;string:type></p></td><td><em>string</em> 或 <em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/vector.zh.md"><strong>Vector</strong></a></td><td><p>计算指定文件或 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/blob.zh.md"><strong>Blob</strong></a> 的校验和。<br>默认情况下，将计算 MD5 哈希，但您可以使用可选的 <strong>type</strong> 参数更改哈希/校验和算法。有效值为（不区分大小写）<strong>md5</strong>、<strong>blake3</strong>、<strong>sha1</strong>、<strong>sha256</strong>、<strong>sha512</strong>、<strong>crc32</strong>、<strong>crc32_php</strong> 和 <strong>crc32_php_rev</strong>。</p><p>您还可以同时指定多个类型（例如，<em>"md5,sha1,sha256"</em>），在这种情况下，将同时计算指定的校验和，并将结果作为 <em>string</em> 的 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/vector.zh.md"><strong>Vector</strong></a> 返回（按您请求的顺序）。</p><p>与其它算法不同，CRC32 是一个概念，而不是一个定义明确的标准。我们提供了您最有可能遇到的三种 CRC32 实现：</p><ul><li><em>CRC32</em> 在 Windows 世界中最常见，与 7-Zip 和 PKZip 等工具称为“CRC32”以及 PHP 称为“CRC32b”相匹配。</li><li><em>CRC32_PHP</em> 比较少见，与 BZIP2 使用的以及 PHP 默认输出的相匹配。</li><li><em>CRC32_PHP_REV</em> 与 <em>CRC32_PHP</em> 相同，但结果的字节顺序相反，如某些工具输出的那样。</li></ul><p><em>示例 (VBScript):</em></p><pre><code>DOpus.FSUtil.Hash("C:\Windows\Notepad.exe","md5")
</code></pre></td><td></td><td></td><td></td><td></td></tr><tr><td>NewFileAttr</td><td><em>&#x3C;attributes></em></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/fileattr.zh.md"><strong>FileAttr</strong></a></td><td><p>创建一个新的 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/fileattr.zh.md"><strong>FileAttr</strong></a> 对象，它表示文件属性。</p><p>您可以通过传递一个字符串来初始化新对象，该字符串表示要打开的属性（例如，<em>"hsr"</em>），或传递另一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/fileattr.zh.md"><strong>FileAttr</strong></a> 对象。如果您不传递值，新对象将默认所有属性都关闭。</p></td><td></td><td></td><td></td><td></td></tr><tr><td>NewFileSize</td><td><em>&#x3C;size></em><br>或<br>&#x3C;string:"s"><br><em>&#x3C;size></em></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/filesize.zh.md"><strong>FileSize</strong></a></td><td><p>创建一个新的 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/filesize.zh.md"><strong>FileSize</strong></a> 对象，它使处理 64 位文件大小变得更容易。</p><p>您可以使用多种数据类型（<em>int</em>、<em>string</em>、<em>decimal</em>、<em>currency</em>、另一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/filesize.zh.md"><strong>FileSize</strong></a> 对象，或包含恰好 1、2、4 或 8 个字节的 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/blob.zh.md"><strong>Blob</strong></a>）来初始化它。您可以通过在前面添加 <strong>$</strong> 或 <strong>0x</strong> 来使用十六进制字符串。</p><p><em>示例 (VBScript):</em></p><pre><code>DOpus.FSUtil.NewFileSize(1024)
</code></pre><p>当只指定大小时，结果将是 <em>无符号</em> 值，这意味着它可以表示更大的大小值，但不能表示负值。</p><p>要改为创建一个 <em>有符号</em> 值，请将 "<strong>s</strong>" 指定为第一个参数，并将大小指定为第二个参数。这区分大小写；它必须是小写字母 "s"。</p><p><em>示例 (VBScript):</em></p><pre><code>DOpus.FSUtil.NewFileSize("s", -1024)
</code></pre></td><td></td><td></td><td></td><td></td></tr><tr><td>NewPath</td><td>&#x3C;string:path></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/path.zh.md"><strong>Path</strong></a></td><td>创建一个新的 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/path.zh.md"><strong>Path</strong></a> 对象，初始化为提供的路径字符串。</td><td></td><td></td><td></td><td></td></tr><tr><td>NewWild</td><td>&#x3C;string:pattern><br>&#x3C;string:flags></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/wild.zh.md"><strong>Wild</strong></a></td><td><p>创建一个新的 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/wild.zh.md"><strong>Wild</strong></a> 对象。</p><p>如果提供了 <strong>pattern</strong> 和 <strong>flags</strong>，则将自动解析模式；否则，您必须在使用返回的对象之前调用其 <strong>Parse</strong> 方法。</p><p>有关有效标志的列表，请参见 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/wild.zh.md"><strong>Wild</strong></a><strong>.Parse</strong> 方法的描述。</p></td><td></td><td></td><td></td><td></td></tr><tr><td>OpenFile</td><td>&#x3C;string:path> 或 &#x3C;object:<a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/blob.zh.md"><strong>Blob</strong></a>><br>&#x3C;string:mode><br>&#x3C;object:window> 或 &#x3C;string:elevation></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/file.zh.md"><strong>File</strong></a></td><td><p>打开或创建文件并返回一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/file.zh.md"><strong>File</strong></a> 对象，该对象允许您将文件内容作为二进制数据访问。</p><p>始终返回一个 <strong>File</strong> 对象，即使文件无法打开。在创建返回的对象后立即检查 <strong>File.error</strong>，以查看是否成功打开了文件。</p><p>即使文件未打开，返回对象的一些方法可能仍然有效。例如，如果文件存在但权限阻止您打开它，您仍然可以更改其属性，反之亦然。</p><p>第一个参数可以是：</p><ul><li>一个字符串或 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/path.zh.md"><strong>Path</strong></a> 对象，指定要打开的文件。</li><li>一个现有的 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/blob.zh.md"><strong>Blob</strong></a> 对象，用于创建一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/file.zh.md"><strong>File</strong></a> 对象，该对象提供对内存块的读/写流访问。</li></ul><p>当打开一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/blob.zh.md"><strong>Blob</strong></a> 时，创建的对象将始终处于 <em>读写模式</em>，并且其余参数（<strong>mode</strong> 和 <strong>window</strong>/<strong>elevation</strong>）不会使用，也不需要指定。</p><p>当打开文件时，可选的 <strong>mode</strong> 参数指定如何打开它（区分大小写）：</p><p>当以 <em>写入模式</em> 或 <em>读写模式</em> 打开时，您可以指定其它 <strong>mode</strong> 标志来控制如何创建或打开文件（区分大小写）：</p><p><strong>mode</strong> 标志还可以包含以下字母（区分大小写）：</p><p>当打开一个现有的文件，而其它事物已经标记为要删除时，包括已经以 <em>delete-on-close</em> 模式打开的文件，必须指定 <strong>p</strong>（允许删除）标志。</p><p>非 Windows 文件系统可能具有不同的锁定和共享规则。Opus 会将请求的标志传递给它们，但最终它们的行为方式取决于它们。</p><p>可选的第三个参数接收一个 <strong>window</strong> 对象或一个指示 <strong>elevation</strong> 模式的字符串。此参数影响在打开文件时可能触发的 UAC 提升提示（以及可能的其它用户界面元素）的行为。它可以是以下之一：</p><ul><li>一个 Opus <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/tab.zh.md"><strong>Tab</strong></a> 或 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/lister.zh.md"><strong>文件窗口</strong></a> 对象，如果需要提升并且尚未获得提升，则 UAC 提示将显示在该对象上。</li><li>字符串 "<strong>NoElevate</strong>"，以完全防止在打开此文件时进行 UAC 提升。</li><li>字符串 "<strong>ElevateNoAsk</strong>"，以防止 UAC 提示，但如果其它事物已经获得了提升，则仍然获得提升（例如，之前的 <strong>OpenFile</strong> 调用）。</li></ul><p><em>示例 (VBScript):</em></p><pre><code>Set F = DOpus.FSUtil.OpenFile("C:\Test.txt","wrcf","NoElevate")
</code></pre></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>r</strong></td><td><em>读取模式</em>。文件可以读取但不能写入。（这是默认设置。）</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>w</strong></td><td><em>写入模式</em>。文件可以写入，但不能读取。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>rw</strong></td><td><em>读写模式</em>。文件可以从同一个对象读写。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>c</strong></td><td>仅当文件不存在时才创建新文件。如果文件已经存在，则调用将失败。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>a</strong></td><td>始终创建新文件。如果文件已经存在，它将被覆盖，即被截断为零长度。（如果在 <strong>w</strong> 或 <strong>rw</strong> 本身上使用，这是默认设置。）</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>e</strong></td><td>打开现有文件。如果文件不存在，则调用将失败。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>o</strong></td><td>打开现有文件。如果文件不存在，则会创建它。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>t</strong></td><td>截断现有文件。如果文件存在，它将被截断为零长度。如果文件不存在，则调用将失败。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>d</strong></td><td>Delete-on-close。文件将在关闭时自动删除。（如果其它事物也打开了文件，它将不会被删除，直到所有事物都关闭它。）</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>f</strong></td><td>强制。如果 Opus 阻止以写入方式打开文件，则 Opus 将清除文件的只读属性；否则，尝试以写入方式打开只读文件将失败。例如，"<strong>wof</strong>" 类似于 "<strong>wo</strong>" 模式，但也清除只读属性。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>m</strong></td><td>修改模式。如果您想使用 <strong>File</strong> 对象读取或修改文件的属性，或获取文件的大小，而不读取或写入实际的文件内容，请使用它。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>p</strong></td><td>允许删除。其它进程可以在文件关闭之前删除它，但任何删除操作都不会在它关闭之前进行。通过这种方法打开的文件总是允许其它读取器和写入器。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>x</strong></td><td>（Opus 13.9.1 及更高版本。）（小写 x。）排除其它读取器。当您打开文件时，其它任何事物都无法以读取方式打开它。如果其它事物已经以读取方式打开它，您请求打开文件的请求将失败。对不支持它的文件系统没有影响。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>X</strong></td><td>（Opus 13.9.1 及更高版本。）（大写 X。）排除其它写入器。当您打开文件时，其它任何事物都无法以写入方式打开它。如果其它事物已经以写入方式打开它，您请求打开文件的请求将失败。对不支持它的文件系统没有影响。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>PathType</td><td>&#x3C;string:path></td><td><em>string</em></td><td><p>返回一个字符串，指示指定文件路径的底层“命名空间”类型。可能的值是：</p><p>此方法不同于 <strong>GetType</strong>，<strong>GetType</strong> 会告诉您某事物是文件还是目录。</p></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>shell</strong></td><td>路径指的是 Windows shell - 例如，类似“此电脑”的虚拟文件夹</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>filesys</strong></td><td>路径是真实文件系统路径 - 例如，C:\Windows</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>ftp</strong></td><td>路径是 FTP 路径</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>zip</strong></td><td>路径是 zip 文件</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>mtp</strong></td><td>路径是 MTP 路径（即便携式设备，如手机或平板电脑）</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>lib</strong></td><td>路径是库</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>coll</strong></td><td>路径是集合</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>plugin</strong></td><td>路径是插件提供的命名空间，很可能是档案（但不是 Zip）</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>ReadDir</td><td>&#x3C;string:path><br>&#x3C;string:flags></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/folderenum.zh.md"><strong>FolderEnum</strong></a></td><td><p>返回一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/folderenum.zh.md"><strong>FolderEnum</strong></a> 对象，该对象允许您枚举指定文件夹的内容。</p><p>可选的 <strong>flags</strong> 字符串可以包含一个或多个标志字符（不区分大小写）：</p><p>如果您不需要任何标志，请完全跳过第二个参数。您可能会看到较旧的脚本将 <strong>True</strong> 和 <strong>False</strong> 作为第二个参数传递，以打开和关闭递归；这已过时，但出于兼容性考虑仍受支持。</p></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>r</strong></td><td>递归地枚举文件夹，列出文件夹的内容、其子文件夹、它们的子文件夹等等。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>l</strong></td><td>跳过链接。在递归地枚举文件夹时，防止遍历符号链接和联结点。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>s</strong></td><td>Shell 枚举。请求 Windows Shell 枚举非文件系统文件夹。例如，Windows 10 上的 <em>快速访问</em> 文件夹可以使用 <strong>ReadDir("/quickaccess","s")</strong> 枚举；如果没有 "<strong>s</strong>"，它将无法工作，因为快速访问不是一个真实的 文件系统目录。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>p</strong></td><td>从加密的档案中抑制密码对话框。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Resolve</td><td>&#x3C;string:path><br>&#x3C;string:flags></td><td><em>object:</em><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/path.zh.md"><strong>Path</strong></a></td><td><p>将指定的路径字符串解析为其真实文件系统路径，支持转换：</p><ul><li><a href="/directory-opus/guan-fang-shou-ce/readme.zh-1/readme.zh/readme.zh/aliases.zh.md"><strong>文件夹别名</strong></a> 到它们指向的真实路径。</li><li><strong>库</strong> 和 <strong>文件集合</strong> 项目到其真实文件系统路径。</li><li><strong>{apppath|</strong><em><strong>appname</strong></em><strong>}</strong> 形式的应用程序路径。</li><li>环境变量。</li><li>可选地，<strong>联结点</strong> 和 <strong>符号链接</strong> 可以解析到它们的目標。</li></ul><p>可以安全地传递不需要解析的路径；该路径将被原样返回，因此您可以在不先检查是否需要的情况下对它们进行调用。</p><p>将当前目录传递给外部软件的脚本通常应该首先对该路径调用 Resolve，否则它们可能会将类似 <em>/desktop</em> 的别名传递给无法理解它们的软件。</p><p>可选的 <strong>flags</strong> 字符串可以包含以下字母（不区分大小写）：</p><p>请注意，<a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/path.zh.md"><strong>Path</strong></a> 对象也有类似的 <strong>Resolve</strong> 方法，它们会就地修改它们。</p></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>c</strong></td><td>返回规范路径。这将把短文件名扩展为其真实的 long filename 表示形式。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>j</strong></td><td>将联结点和符号链接解析到其目標文件夹。</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>SameDrive</td><td>&#x3C;string:path1><br>&#x3C;string:path2><br>&#x3C;string:flags></td><td><em>bool</em></td><td><p>如果指定的两个路径都引用同一个驱动器或分区，则返回 <strong>True</strong>。</p><p>可选的 <strong>flags</strong> 字符串可以包含以下一个或多个字母（区分大小写）：</p><p>| <strong>c</strong> | 将 <strong>CD 刻录暂存区</strong> 视为 CD（或其它可写入的光学介质）本身。 | | <strong>m</strong> | 处理 <strong>NTFS 挂载点</strong>。（如果任何路径可能位于指向不同驱动器的挂载点下方，则速度较慢但更准确。） | | <strong>r</strong> | 仅限真实路径。（跳过仅对 FTP 站点和 MTP 设备等有用处的额外处理。） | | <strong>s</strong> | 测试路径是否指向由 Windows <strong>subst</strong> 命令创建的相同驱动器上的驱动器号。 | | <strong>u</strong> | 比较 <strong>FTP 用户</strong>。（默认情况下，如果 FTP 路径指向同一个 FTP 站点，则它们被视为“同一驱动器”。<strong>u</strong> 标志添加了两个路径必须具有相同用户名才能被视为“同一驱动器”的要求。） | | <strong>z</strong> | 如果 <strong>path1</strong> 位于 Zip 文件或其它压缩包 <em>内部</em>，则只有当 <strong>path2</strong> 是压缩包本身或位于 <em>同一</em> 压缩包 <em>内部</em> 时，才将其视为在“同一驱动器”上。 | | <strong>Z</strong> | 如果 <strong>path1</strong> 位于 Zip 文件或其它压缩包 <em>内部</em>，则只有当 <strong>path2</strong> 位于 <em>同一</em> 压缩包 <em>内部</em> 时，才将其视为在“同一驱动器”上。 |</p><p>如果未指定 <strong>z</strong> 或 <strong>Z</strong>，则压缩包本质上被视为普通目录，并将被视为与指向压缩包所在相同驱动器的任何路径在“同一驱动器”上，包括该驱动器上的其它压缩包路径。</p></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>WatchChanges</td><td>&#x3C;string:id><br>&#x3C;string:path><br>&#x3C;string:flags></td><td><em>int</em></td><td><p>建立对文件夹或文件的更改监控。成功返回 <strong>0</strong>，失败返回错误代码。</p><p>当受监控的文件或文件夹发生更改时，脚本的 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh-1/onfilesystemchange.zh.md">OnFilesystemChange</a> 事件将被触发。</p><p><strong>id</strong> 参数允许您为该观察者提供一个 ID，该 ID 用于在发生更改时识别它。<strong>dir</strong> 是文件系统文件夹的完整路径，或者如果设置了 <strong>i</strong> 标志，则是文件的路径。</p><p>可选标志：</p><p>使用 <strong>CancelWatchChanges</strong> 方法取消监控。</p></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>f</strong></td><td>监控文件夹中的文件更改（例如创建文件）</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>d</strong></td><td>监控文件夹中的目录更改（例如创建目录）</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>r</strong></td><td>递归 - 监控子文件夹</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>a</strong></td><td>监控文件属性更改</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>s</strong></td><td>监控文件大小更改</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>w</strong></td><td>监控最后写入时间更改</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>i</strong></td><td>监控单个文件而不是文件夹</td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

|       |                     |
| ----- | ------------------- |
| **f** | 监控文件夹中的文件更改（例如创建文件） |
| **d** | 监控文件夹中的目录更改（例如创建目录） |
| **r** | 递归 - 监控子文件夹         |
| **a** | 监控文件属性更改            |
| **s** | 监控文件大小更改            |
| **w** | 监控最后写入时间更改          |
| **i** | 监控单个文件而不是文件夹        |

|       |                                           |
| ----- | ----------------------------------------- |
| **c** | 返回规范路径。这将把短文件名扩展为其真实的 long filename 表示形式。 |
| **j** | 将联结点和符号链接解析到其目標文件夹。                       |

|       |                                                                                                                                                   |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **r** | 递归地枚举文件夹，列出文件夹的内容、其子文件夹、它们的子文件夹等等。                                                                                                                |
| **l** | 跳过链接。在递归地枚举文件夹时，防止遍历符号链接和联结点。                                                                                                                     |
| **s** | Shell 枚举。请求 Windows Shell 枚举非文件系统文件夹。例如，Windows 10 上的 *快速访问* 文件夹可以使用 **ReadDir("/quickaccess","s")** 枚举；如果没有 "**s**"，它将无法工作，因为快速访问不是一个真实的 文件系统目录。 |
| **p** | 从加密的档案中抑制密码对话框。                                                                                                                                   |

|             |                                        |
| ----------- | -------------------------------------- |
| **shell**   | 路径指的是 Windows shell - 例如，类似“此电脑”的虚拟文件夹 |
| **filesys** | 路径是真实文件系统路径 - 例如，C:\Windows            |
| **ftp**     | 路径是 FTP 路径                             |
| **zip**     | 路径是 zip 文件                             |
| **mtp**     | 路径是 MTP 路径（即便携式设备，如手机或平板电脑）            |
| **lib**     | 路径是库                                   |
| **coll**    | 路径是集合                                  |
| **plugin**  | 路径是插件提供的命名空间，很可能是档案（但不是 Zip）           |

|       |                                                                                                             |
| ----- | ----------------------------------------------------------------------------------------------------------- |
| **d** | Delete-on-close。文件将在关闭时自动删除。（如果其它事物也打开了文件，它将不会被删除，直到所有事物都关闭它。）                                              |
| **f** | 强制。如果 Opus 阻止以写入方式打开文件，则 Opus 将清除文件的只读属性；否则，尝试以写入方式打开只读文件将失败。例如，"**wof**" 类似于 "**wo**" 模式，但也清除只读属性。         |
| **m** | 修改模式。如果您想使用 **File** 对象读取或修改文件的属性，或获取文件的大小，而不读取或写入实际的文件内容，请使用它。                                             |
| **p** | 允许删除。其它进程可以在文件关闭之前删除它，但任何删除操作都不会在它关闭之前进行。通过这种方法打开的文件总是允许其它读取器和写入器。                                          |
| **x** | （Opus 13.9.1 及更高版本。）（小写 x。）排除其它读取器。当您打开文件时，其它任何事物都无法以读取方式打开它。如果其它事物已经以读取方式打开它，您请求打开文件的请求将失败。对不支持它的文件系统没有影响。 |
| **X** | （Opus 13.9.1 及更高版本。）（大写 X。）排除其它写入器。当您打开文件时，其它任何事物都无法以写入方式打开它。如果其它事物已经以写入方式打开它，您请求打开文件的请求将失败。对不支持它的文件系统没有影响。 |

|       |                                                                    |
| ----- | ------------------------------------------------------------------ |
| **c** | 仅当文件不存在时才创建新文件。如果文件已经存在，则调用将失败。                                    |
| **a** | 始终创建新文件。如果文件已经存在，它将被覆盖，即被截断为零长度。（如果在 **w** 或 **rw** 本身上使用，这是默认设置。） |
| **e** | 打开现有文件。如果文件不存在，则调用将失败。                                             |
| **o** | 打开现有文件。如果文件不存在，则会创建它。                                              |
| **t** | 截断现有文件。如果文件存在，它将被截断为零长度。如果文件不存在，则调用将失败。                            |

|        |                              |
| ------ | ---------------------------- |
| **r**  | *读取模式*。文件可以读取但不能写入。（这是默认设置。） |
| **w**  | *写入模式*。文件可以写入，但不能读取。         |
| **rw** | *读写模式*。文件可以从同一个对象读写。         |

|       |                              |
| ----- | ---------------------------- |
| **d** | delete-on-close。文件将在关闭时自动删除。 |
| **p** | 允许删除。其它进程可以删除文件。             |
| **r** | 可读共享。其它进程可以读取文件。             |
| **w** | 可写共享。其它进程可以写入文件。             |

|                |                   |   |
| -------------- | ----------------- | - |
| n              | 无吊销检查             |   |
| c              | 检查链中最终证书的吊销       |   |
| C              | 检查整个链的吊销          |   |
| R              | 检查整个链，不包括根证书      |   |
| h              | 仅哈希检查             |   |
| l              | 在证书时间戳过期后将证书视为已过期 |   |
|                |                   |   |
|                |                   |   |
| GetTempDirPath |                   |   |

|              |                                                         |   |
| ------------ | ------------------------------------------------------- | - |
| **V**        | 仅限于可查看属性。可查看属性是那些旨在向用户显示的属性 - 它们与资源管理器列选择器 UI 中显示的属性相同。 |   |
|              |                                                         |   |
|              |                                                         |   |
| GetSignature |                                                         |   |

|       |                |
| ----- | -------------- |
| **R** | 属性原始名称必须与模式匹配。 |
| **D** | 属性显示名称必须与模式匹配。 |

|       |                   |
| ----- | ----------------- |
| **R** | 将使用第一个其原始名称匹配的属性。 |
| **D** | 将使用第一个其显示名称匹配的属性。 |

|         |                |   |
| ------- | -------------- | - |
| **d**   | 默认双栏文件夹        |   |
| **v**   | 默认导航锁定目标       |   |
| **n**   | 自动打开导航锁定       |   |
| **y**   | 默认同步目标         |   |
| **l**   | 始终在左侧/顶部显示主文件夹 |   |
| **u**   | 使用路径，即使它不存在    |   |
| **i**   | 忽略对            |   |
| **g**   | 上移到第一个存在的父级    |   |
|         |                |   |
|         |                |   |
| GetItem |                |   |

|        |                         |   |
| ------ | ----------------------- | - |
| **e**  | 用于编辑（返回一个用于编辑而不是显示的字符串） |   |
| **f**  | 文件部分（返回显示文件名而不是整个路径）    |   |
| **r**  | 解析（将库路径解析到其底层文件系统文件夹）   |   |
|        |                         |   |
|        |                         |   |
| Drives |                         |   |

|             |                                                |   |
| ----------- | ---------------------------------------------- | - |
| **c**       | 使路径比较 **区分大小写**。                               |   |
| **p**       | 如果 *path2* 等于或为 *path1* 的 **父级**，则返回 **True**。 |   |
|             |                                                |   |
|             |                                                |   |
| DisplayName |                                                |   |
