**FSUtil** 对象提供了多个实用程序方法,用于处理文件系统。它使用 **DOpus.FSUtil** 方法获得。
<table>
<thead><tr><th>
方法名称</th><th>
**参数**</th><th>
返回类型</th><th>
描述
</th></tr></thead><tbody><tr><td>
CancelWatchChanges</td><td>
\<string:id\></td><td>
*无*</td><td>
取消先前的调用**WatchChanges** 方法建立的文件夹或文件更改监视。**id** 参数是你创建监视器时分配给它的 ID。
</td></tr><tr><td>
ComparePath</td><td>
\<string:path1\>
\<string:path2\>
\<string:flags\></td><td>
*bool*</td><td>
比较两个提供的路径字符串是否相等 - 如果两个路径相等,则返回 **True**,否则返回 **False**。
可选的 **flags** 参数允许你修改比较行为。此参数是一个包含以下一个或多个字母(区分大小写)的字符串:
| | |
|-------|---------------------------------------------------------------------|
| **c** | 使路径比较**区分大小写**。 |
| **p** | 如果*path2* 等于或为 *path1* 的**父项**,则返回 **True**。 |
</td></tr><tr><td>
DisplayName</td><td>
\<string:path\>
\<string:flags\></td><td>
*string*</td><td>
检索路径的显示名称。这是供用户查看的路径形式,而不是 Opus 内部使用的路径形式。例如,对于一个库路径,它将剥离 Opus 用于识别库成员文件夹的内部 *?xxxxxxx* 符号。
可选的 **flags** 参数允许你修改行为。此参数是一个包含以下一个或多个字母(区分大小写)的字符串:
| | |
|-------|-----------------------------------------------------------------------------|
| **e** | 用于编辑(返回一个设计用于编辑而非显示的字符串) |
| **f** | 文件部分(返回显示的文件名而不是整个路径) |
| **r** | 解析(将库路径解析为其底层文件系统文件夹) |
</td></tr><tr><td>
Drives</td><td>
*无*</td><td>
**Vector:[Drive](drive.zh.md)**</td><td>
返回一个 **[Vector](vector.zh.md)** 的 **[Drive](drive.zh.md)** 对象,每个对象对应系统上的一个驱动器。
</td></tr><tr><td>
Exists</td><td>
\<string:path\>
\<string:flags\></td><td>
*bool*</td><td>
如果指定的文件夹、文件或设备存在,则返回 **True**,否则返回 **False**。
可选的 *flags* 参数可以设置为 **w** 以在最终路径组件中使用通配符。
</td></tr><tr><td>
GetADSNames</td><td>
\<string:path\></td><td>
*object:***[StringSet](stringset.zh.md)**</td><td>
返回一个 **[StringSet](stringset.zh.md)** ,包含为指定的文件夹或文件找到的任何备用数据流 (ADS) 的名称。
</td></tr><tr><td>
GetErrorMsg</td><td>
\<int:error\></td><td>
*string*</td><td>
返回系统错误代码的本地化文本描述。
</td></tr><tr><td>
GetFolderPair</td><td>
\<string:path\>
\<string:flags\></td><td>
*object:***[PairedFolder](pairedfolder.zh.md)**</td><td>
如果存在,则返回指定文件夹的 [对](/Manual/preferences/preferences_categories/frequently_used_paths/paired_folders.zh.md)。将可选标志与这对的配置选项进行比较;它们让你控制在哪些条件下返回该对,以及在配对文件夹不存在时如何处理该对。
| | |
|-------|-----------------------------------------------|
| **d** | 默认双栏文件夹 |
| **v** | 默认导航锁定目标 |
| **n** | 自动开启导航锁定 |
| **y** | 默认同步目标 |
| **l** | 始终在左/上方显示主文件夹 |
| **u** | 即使路径不存在也使用路径 |
| **i** | 忽略该对 |
| **g** | 转到第一个存在的父项 |
</td></tr><tr><td>
GetItem</td><td>
\<string:path\></td><td>
*object*:**[Item](item.zh.md)**</td><td>
为指定的文件路径创建一个 **[Item](item.zh.md)** 对象。
</td></tr><tr><td>
GetMetadata</td><td>
\<string:path\></td><td>
*object:***[Metadata](metadata.zh.md)**</td><td>
返回表示指定文件元数据的 **[Metadata](metadata.zh.md)** 对象。
</td></tr><tr><td>
GetShellProperty</td><td>
\<string:path\>
\<string:property\> 或 \<**[Map](map.zh.md)**:properties\>
\<string:type\></td><td>
*variant*</td><td>
返回指定文件的一个或多个 shell 属性的值。
文件路径必须作为第一个参数提供。
第二个参数可以是要检索的属性的名称(或 PKEY),在这种情况下将返回属性值。
或者,第二个参数可以是 **[Map](map.zh.md)** 对象,它让你一次检索多个属性。你想要检索的每个属性都应添加为 **[Map](map.zh.md)** 的键,值为一个空字符串。**Map** 中的值将替换为属性值。
可选的 **type** 参数是一个字符串,它让你控制如何按名称查找属性(不区分大小写):
| | |
|-------|-------------------------------------------------------------|
| **R** | 将使用原始名称匹配的第一个属性。 |
| **D** | 将使用显示名称匹配的第一个属性。 |
如果两个都没有指定,则原始名称和显示名称都可以匹配。请注意,如果 shell 属性由系统作为 SAFEARRAY 类型返回,它将自动转换为 **[Vector](vector.zh.md)** 对象。
</td></tr><tr><td>
GetShellPropertyList</td><td>
\<string:pattern\>
\<string:type\></td><td>
*object:***[ShellProperty](shellproperty.zh.md)**</td><td>
返回一个 **[Vector](vector.zh.md)** 的 **[ShellProperty](shellproperty.zh.md)** 对象,它表示系统上可用的所有可能的 shell 属性。
你可以选择将通配符 *pattern* 作为第一个参数提供 - 如果这样做,则只返回名称与提供的模式匹配的属性。
可选的 **type** 参数是一个字符串,它让你进一步限制属性列表(不区分大小写):
| | |
|-------|------------------------------------------------|
| **R** | 属性原始名称必须与模式匹配。 |
| **D** | 属性显示名称必须与模式匹配。 |
如果两个都没有指定,则原始名称和显示名称都可以匹配。
</td></tr><tr><td>
GetTempDirPath</td><td>
\<int:lifetime\></td><td>
*object:***[Path](path.zh.md)**</td><td>
创建一个临时文件夹(具有唯一名称),并在 **[Path](path.zh.md)** 对象中返回其路径。通过此方法创建的临时文件夹在 Opus 将自动将其删除之后具有有限的生存周期(它还将在关闭和重新启动时对其进行清理)。默认生命周期为 20 分钟;你可以使用可选参数更改此值。
</td></tr><tr><td>
GetTempFile</td><td>
\<string:suffix\>
\<string:prefix\>
\<string:flags\>
\<object:window\></td><td>
*object:***[文件](file.zh.md)**</td><td>
创建一个临时文件,返回可以写入的 **[文件](file.zh.md)** 对象。
返回的对象支持读取和写入,无需再次打开文件(尽管如果你觉得更容易,也可以这样做)。
你可以使用 **[文件](file.zh.md)**.path 属性获取文件名。
可以指定一个可选文件后缀 **suffix**;如果没有提供(或传递了一个空字符串),则默认为“.tmp”。
还可以指定一个可选的 **prefix** 前缀;如果没有提供(或者传递了一个空字符串),则默认为“dop”。
在后缀和前缀之间,Opus 将在名称中插入额外的字符以确保它是唯一的。
例如,**DOpus.FSUtil.GetTempFilePath(".txt","cat-")** 可能会为文件路径生成 *C:\Users\Leo\AppData\Local\Temp\cat-202106230928470962.txt*。
可选的 **flags** 参数可以包含以下一个或多个字母(不区分大小写):
| | |
|-------|------------------------------------------------------------------|
| **d** | close 时删除。在关闭文件时会自动删除文件。 |
| **p** | 允许删除。其它的进程可以删除这些文件。 |
| **r** | 可共享读取。其它进程可以读取文件。 |
| **w** | 可共享写入。其它进程可以写入文件。 |
读取、写入和删除共享模式会影响在文件仍然打开时允许其它进程执行的操作。当文件关闭后(假设它没有被自动删除),其它进程始终可以自由读取、写入或删除文件。
当使用 close-on-close 时,其它进程可能无法打开文件,除非在打开文件时明确允许删除该文件。
可选的 **window** 参数允许你将 **文件** 对象与 **[标签](tab.zh.md)** 或 **[列表](lister.zh.md)** 关联,如果 Opus 需要显示任何对话框(例如 UAC 提升对话框),将使用该标签或列表。
</td></tr><tr><td>
GetTempFilePath</td><td>
\<string:suffix\>
\<string:prefix\></td><td>
*object:***[路径](path.zh.md)**</td><td>
创建一个临时文件(具有唯一名称),并在 **[路径](path.zh.md)** 对象中返回它的路径。
可以指定一个可选文件后缀 **suffix**;如果没有提供(或传递了一个空字符串),则默认为“.tmp”。
还可以指定一个可选的 **prefix** 前缀;如果没有提供(或者传递了一个空字符串),则默认为“dop”。
在后缀和前缀之间,Opus 将在名称中插入额外的字符以确保它是唯一的。
例如,**DOpus.FSUtil.GetTempFilePath(".txt","cat-")** 可能会为文件路径生成 *C:\Users\Leo\AppData\Local\Temp\cat-202106230928470962.txt*。
</td></tr><tr><td>
GetType</td><td>
\<string:path\>
\<string:flags\></td><td>
*string*</td><td>
返回一个字符串指示指定文件路径的项目类型。如果路径不存在,则字符串将是 **file**、**dir** 或 **invalid**。
可选的 **flags** 参数用于控制压缩包的行为。通常,压缩包将被报告为 **dir**,但是,如果你为 flags 参数指定 **“a”**,它将被报告为 **file**。
此方法与 **PathType** 不同,**PathType** 告诉你的是底层“命名空间”类型,而不是某项只是文件还是文件夹。
</td></tr><tr><td>
Hash</td><td>
\<string:path\> 或
\<object:**[二进制](blob.zh.md)**\>
\<string:type\></td><td>
*string* 或 *object:***[矢量](vector.zh.md)**</td><td>
计算指定文件或 **[二进制](blob.zh.md)** 的校验和。
默认情况下,计算 MD5 哈希,但是你可以使用可选的 **type** 参数来更改哈希/校验和算法。有效值(不区分大小写)是 **md5**、**blake3**、**sha1**、**sha256**、**sha512**、**crc32**、**crc32_php** 和 **crc32_php_rev**。
你还可以同时指定多种类型(例如 *“md5,sha1,sha256”*),在这种情况下,将同时计算指定的校验和,并将结果作为 *string* 的 **[矢量](vector.zh.md)** 返回(按你请求它们的顺序返回)。
与其它算法不同, CRC32 更多地是一个概念, 而不是一个明确定义的标准。我们提供了最常遇到的三个 CRC32 实现:
- *CRC32* 在 Windows 界中最常见,与 7-Zip 和 PKZip 等工具称之为“CRC32”以及 PHP 称之为“CRC32b”的相匹配。
- *CRC32_PHP* 不太常见,与 BZIP2 使用的以及 PHP 默认输出的相匹配。
- *CRC32_PHP_REV* 与 *CRC32_PHP* 相同,但是结果的字节顺序与一些工具的输出相反。
*示例(VBScript):*
DOpus.FSUtil.Hash("C:\Windows\Notepad.exe","md5")
</td></tr><tr><td>
NewFileAttr</td><td>
*\<attributes\>*</td><td>
*object:***[文件属性](fileattr.zh.md)**</td><td>
创建一个新的 **[文件属性](fileattr.zh.md)** 对象,它表示文件属性。
可以通过传递表示要打开的属性(例如 *“hsr”*)或另一个 **[文件属性](fileattr.zh.md)** 对象的字符串来初始化新对象。如果你不传递一个值,新对象将默认关闭所有属性。
</td></tr><tr><td>
NewFileSize</td><td>
*\<size\>*
或
\<string:"s"\>
*\<size\>*</td><td>
*object:***[文件大小](filesize.zh.md)**</td><td>
创建新的 **[文件大小](filesize.zh.md)** 对象,使其更容易处理 64 位文件大小。
你可以使用多个数据类型初始化它(*int*、*string*、*decimal*、*currency*、另一个 **[文件大小](filesize.zh.md)** 对象或包含恰好 1、2、4 或 8 个字节的 **[二进制](blob.zh.md)**)。你可以通过前面加上 **\$** 或 **0x** 来使用十六进制字符串。
*示例(VBScript):*
DOpus.FSUtil.NewFileSize(1024)
当仅指定一个 size 时,结果将是一个 *无符号* 值,这意味着它可以表示较大的 size 值,但不能表示负值。
要创建一个 *有符号* 值,请将 **“s”** 指定为第一个参数,将 size 指定为第二个参数。区分大小写;它必须是小写“s”。
*示例(VBScript):*
DOpus.FSUtil.NewFileSize("s", -1024)
</td></tr><tr><td>
NewPath</td><td>
\<string:path\></td><td>
*object:***[路径](path.zh.md)**</td><td>
创建一个新的 **[路径](path.zh.md)** 对象,并将其初始化为提供的路径字符串。
</td></tr><tr><td>
NewWild</td><td>
\<string:pattern\>
\<string:flags\></td><td>
*object:***[通配符](wild.zh.md)**</td><td>
创建一个新的 **[通配符](wild.zh.md)** 对象。
如果提供了 **pattern** 和 **flags**,则将自动解析该模式;否则,在使用之前,你必须对返回的对象调用 **Parse** 方法。
有关有效标志的列表,请参见 **[通配符](wild.zh.md).Parse** 方法的说明。
</td></tr><tr><td>
OpenFile</td><td>
\<string:path\> 或 \<object:**[二进制](blob.zh.md)**\>
\<string:mode\>
\<object:window\> 或 \<string:elevation\></td><td>
*object:***[文件](file.zh.md)**</td><td>
打开或创建一个文件,并返回一个 **[文件](file.zh.md)** 对象,让你可以以二进制数据形式访问其内容。
即使无法打开文件,也始终返回一个 **File** 对象。在创建对象后,立即检查返回对象上的 **File.error** 以查看是否成功打开了文件。
即使没有打开文件,返回的对象的某些方法仍可能起作用。例如,如果文件存在但权限阻止您打开它,您仍然可以更改其属性,反之亦然。
第一个参数可以是:
- 指定要打开的文件的字符串或 **[Path](path.zh.md)** 对象。
- 一个现有的 **[Blob](blob.zh.md)** 对象,用于创建一个 **[File](file.zh.md)** 对象,该对象可让您对一段内存进行读/写流访问。
在打开 **[Blob](blob.zh.md)** 时,创建的对象将始终处于 *读写模式*,而其余参数(**mode** 和 **window**/**elevation**) 不使用,也不需要指定。
在打开文件时,可选的 **mode** 参数指定如何打开它(区分大小写):
| | |
|--------|---------------------------------------------------------------------------|
| **r** | *读取模式*。该文件可以读取,但不能写入。(这是默认设置。) |
| **w** | *写入模式*。该文件可以写入,但不能读取。 |
| **rw** | *读写模式*。可以从同一个对象读取和写入文件。 |
在以 *写入模式* 或 *读写模式* 打开时,您可以指定控制如何创建或打开文件的其它 **mode** 标志(区分大小写):
| | |
|-------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **c** | 仅当文件不存在时才创建一个新文件。如果文件已存在,则该调用将失败。 |
| **a** | 始终创建新文件。如果文件已存在,它将被覆盖,即截断为零长度。(如果单独使用 **w** 或 **rw**,这是默认设置。) |
| **e** | 打开现有文件。如果文件不存在,该调用将失败。 |
| **o** | 打开现有文件。如果文件不存在,则创建该文件。 |
| **t** | 截断现有文件。如果文件存在,它将被截断为零长度。如果文件不存在,则该调用将失败。 |
**mode** 标志还可以包括以下字母(区分大小写):
| | |
|-------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **d** | 关闭时删除。关闭时文件将自动删除。(如果其它文件也处于打开状态,则直到所有内容都关闭之前,文件将不会被删除。) |
| **f** | 强制。如果写保护属性阻止打开文件以进行写入,Opus 将清除该文件的文件的只读属性;否则,尝试打开只读文件以进行写入将失败。例如,“**wof**”类似于“**wo**”模式,但也会清除只读属性。 |
| **m** | 修改模式。如果您希望使用 **File** 对象来读取或修改文件属性,或者获取文件大小而无需读取或写入实际文件内容,请使用此功能。 |
| **p** | 允许删除。其它进程可以在文件关闭之前删除文件,尽管任何删除操作都不会在文件关闭之前发生。通过此方法打开的文件始终允许其它读写器和编写器。您的脚本不应假设对文件或其内容拥有独占锁。 |
在打开已被其它内容标记为删除的现有文件(包括已在 *关闭时删除* 模式下打开的文件)时,必须指定 **p**(允许删除)标志。
非 Windows 文件系统可能具有不同的锁定和共享规则。Opus 将向它们传递请求的标志,但它们的最终行为取决于它们。
可选的第三个参数接受 **window** 对象或指示 **elevation** 模式的字符串。此参数会影响打开文件时可能触发的 UAC 提升提示(以及其它可能的 UI 元素)。它可以是以下之一:
- 当需要提升且尚未获取提升时,UAC 提示将出现在其上的 Opus **[Tab](tab.zh.md)** 或 **[文件窗口](lister.zh.md)** 对象。
- 字符串“**NoElevate**”,用于在打开此文件时完全阻止 UAC 提升。
- 字符串“**ElevateNoAsk**”,用于在其它内容已经获取了提升的情况下(例如,之前的 **OpenFile** 调用),防止 UAC 提示,但仍提升权限。
*示例(VBScript):*
Set F = DOpus.FSUtil.OpenFile("C:\Test.txt","wrcf","NoElevate")
</td></tr><tr><td>
PathType</td><td>
\<string:path\></td><td>
*string*</td><td>
返回一个字符串,指示指定文件路径的底层“命名空间”类型。可能的值为:
| | |
|-------------|---------------------------------------------------------------------------------|
| **shell** | 路径指向 Windows shell - 例如,如“此电脑”的虚拟文件夹 |
| **filesys** | 路径是真实的文件系统路径 - 例如,C:\Windows |
| **ftp** | 路径是 FTP 路径 |
| **zip** | 路径是 zip 文件 |
| **mtp** | 路径是 MTP 路径(即手机或平板电脑等便携式设备) |
| **lib** | 路径是库 |
| **coll** | 路径是集合 |
| **plugin** | 路径是由插件提供的命名空间,很可能是压缩包(但不是 Zip) |
此方法不同于 **GetType**,**GetType** 会告诉您某是否是文件或目录。
</td></tr><tr><td>
ReadDir</td><td>
\<string:path\>
\<string:flags\></td><td>
*object:***[FolderEnum](folderenum.zh.md)**</td><td>
返回一个 **[FolderEnum](folderenum.zh.md)** 对象,这个对象允许您枚举指定文件夹的内容。
可选的 **flags** 字符串可包括零个或多个标志字符(不区分大小写):
| | |
|-------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **r** | 递归地枚举文件夹,列出文件夹、其子文件夹、子文件夹的子文件夹等的内容。 |
| **l** | 跳过链接。在递归枚举文件夹时,阻止遍历符号链接和连接。 |
| **s** | Shell 枚举。询问 Windows Shell 来枚举非文件系统文件夹。例如,可以使用 **ReadDir("/quickaccess","s")** 来枚举 Windows 10 上的 *快速访问* 文件夹;它不使用“**s**”无法工作,因为快速访问不是真正的文件系统目录。 |
如果您不需要任何标志,则完全跳过第二个参数。您可能会看到较旧的脚本将 **True** 和 **False** 作为第二个参数传递,以打开和关闭递归;这已弃用,但仍受支持以保持兼容性。
</td></tr><tr><td>
Resolve</td><td>
\<string:path\>
\<string:flags\></td><td>
*object:***[Path](path.zh.md)**</td><td>
将指定的文件路径字符串解析为其真实的文件系统路径,支持转换:
- **[文件夹别名](/Manual/basic_concepts/the_lister/navigation/aliases.zh.md)** 为它们指向的真实路径。
- **库** 和 **文件集合** 项为其真实的文件系统路径。
- **{apppath\|*appname*}** 形式的应用程序路径。
- 环境变量。
- 可选择将 **连接** 和 **符号链接** 解析为其目标。
传递不需要解析的路径是安全的;路径将按原样返回,因此您可以在不需要首先检查的情况下对此进行调用。
通常将当前目录传递到外部软件的脚本应该首先对路径调用 Resolve,否则它们有可能将诸如 */desktop* 这样的别名传递给无法理解它们的对象。
可选的 **flags** 字符串可以包括以下字母(不区分大小写):
| | |
|-------|-------------------------------------------------------------|
| **j** | 将连接和符号链接解析为其目标文件夹 |
请注意,**[Path](path.zh.md)** 对象还有一个类似的 **Resolve** 方法,它可以就地修改它们。
</td></tr><tr><td>
SameDrive</td><td>
\<string:path1\>
\<string:path2\>
\<string:flags\></td><td>
*bool*</td><td>
如果两个指定路径都指向相同的驱动器或分区,则返回 **True**。
可选的 **flags** 字符串可以包含以下一个或多个字母(区分大小写):
| | |
|-------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **c** | 将 **CD 刻录暂存区** 视为 CD(或其它可刻录的光学媒体)本身。 |
| **m** | 处理 **NTFS 挂载点**。(如果任一路径可能位于实际上指向不同驱动器的挂载点下方,则速度较慢但更准确)。 |
| **r** | 仅真实路径。(跳过仅对 FTP 站点和 MTP 设备等内容有用的额外的处理)。 |
| **s** | 测试路径是否通过 Windows **subst** 命令创建的驱动器号指向同一驱动器。 |
| **u** | 比较 **FTP 用户**。(默认情况下,如果 FTP 路径指向相同的 FTP 站点,则认为其为“同一驱动器”。**u** 标志增加了两个路径都具有相同用户名这一要求)。 |
| **z** | 如果 **path1** 位于 Zip 文件或其它压缩包文件中,只有当 **path2** 是压缩包文件本身或位于同一压缩包文件中时,才认为其位于“同一驱动器”上。 |
| **Z** | 如果 **path1** 位于 Zip 文件或其它压缩包文件中,只有当 **path2** 位于同一压缩包文件中时,才认为其位于“同一驱动器”上。 |
当同时未指定 **z** 和 **Z** 时,本质上将压缩包文件视为普通目录并将其视为位于压缩包文件所在的同一驱动器上的任何路径的“同一驱动器”上,包括该驱动器上的其它压缩包文件路径。
</td></tr><tr><td>
WatchChanges</td><td>
\<string:id\>
\<string:path\>
\<string:flags\></td><td>
*int*</td><td>
建立监视文件夹或文件是否发生变化。成功时返回 **0**,失败时返回错误代码。
当监视的文件或文件夹发生更改时,将触发脚本的 [OnFilesystemChange](/Manual/reference/scripting_reference/scripting_events/onfilesystemchange.zh.md) 事件。
**id** 参数允许您为此观察者提供一个 ID,此 ID 用于在发生更改时识别它。**dir** 是一个文件系统文件夹的完整路径,如果设置了 **i** 标志,则为一个文件。
可选标志为:
| | |
|-------|-----------------------------------------------------------------|
| **f** | 监视文件夹中的文件更改(例如,创建文件) |
| **d** | 监视文件夹中的目录更改(例如,创建目录) |
| **r** | 递归 - 监视子文件夹 |
| **a** | 监视文件属性更改 |
| **s** | 监视文件大小更改 |
| **w** | 监视上次写入时间更改 |
| **i** | 监视单个文件,而不是文件夹 |
使用 **CancelWatchChanges** 方法取消监视。
将下列英文文本翻译成中文:
- 主页
- 文件浏览
- 文件窗口
- 工具栏
- 收藏栏
- 多文件夹
- 单窗口模式
- 标签页
- 分栏
- 关联文件夹
- 来源和目标
- 查看
- 列表
- 列
- 排序
- 分组
- 视图
- 详细视图
- 缩略图
- 平面视图
- 标记
- 选择
- 复选框
- 即时查找
- 信息提示
- 查看器
- 文件夹格式
- 导航
- 地址栏
- 文件夹树
- 收藏夹
- 别名
- 文件对话框
- 文件搜索
- 文件操作
- 文件创建
- 文件移动
- 文件复制
- 重命名
- 剪贴板
- 上下文菜单
- 拖放
- 安全
- 文件类型
- 元数据
- 压缩包
- 图片
- 文档
- 纯文本
- 代码
- Markdown
- Word 文档
- 网页
- 表格
- Excel 表格
- 数据库
- 幻灯片
- 模型
- 种子
- 邮件
- Directory Opus
- 配置
- 主题
- 命令
- 命令
- 修饰符
- 内置命令
- 脚本
- 变量
- 官方手册
- 目录
- 版权
- 许可证
- 最终用户许可条件
- 批量许可条件
- 致谢
- 简介
- 基本概念
- 启动 Opus
- 文件窗口
- 打开文件窗口
- 默认文件窗口
- 导航
- 主文件夹
- 上、前进、后退
- 文件树
- 地址栏
- 路径字段
- 驱动按钮和下拉菜单
- 收藏夹
- 智能收藏夹
- 最近和历史列表
- 别名
- 成对文件夹
- 标签
- 标签切换器
- 锁定标签页
- 关联标签页
- 标签组
- 视图模式
- 双栏
- 导航锁定
- 工具栏
- 默认工具栏
- 菜单工具栏
- 操作工具栏
- 收藏栏
- 文件列表工具栏
- “图像”工具栏
- 动态工具栏
- 工具栏集
- 即时查找字段
- 查看器窗格
- 元数据窗格
- 实用程序面板
- 布局
- 样式
- 主题
- 创建自己的主题
- 状态栏
- 资源管理器替换模式
- 源目录和目标目录
- 选择文件
- 使用鼠标和键盘进行选择
- 单击模式
- 复选框模式
- 简单通配符选择
- 高级选择
- 选择单元格
- 搜索和过滤
- 过滤栏
- 显示所有内容
- 工具栏过滤项
- 快速搜索
- 查找文件
- 简易查找
- 高级查找
- 排序和分组
- 手动排序
- 文件夹格式
- 文件夹格式对话框
- 列
- 冻结列
- 排序
- 分组
- 显示
- 过滤器
- 已保存文件夹格式
- 自动记住格式
- 内容类型
- 确定当前格式
- 锁定格式
- 可展开文件夹
- 平面视图
- 文件夹大小
- 虚拟文件系统
- 系统虚拟文件夹
- 文件集合
- 存储的查询
- 库
- 压缩包
- FTP
- MTP
- 文件操作
- 复制、移动和删除文件
- 复制和粘贴
- 拖放
- 使用工具栏按钮进行复制
- 复制时使用通配符
- 复制队列
- 复制覆盖和幽灵文件
- 无人值守操作
- 作业栏
- 确认文件替换对话框
- 复制已更新文件
- 同步
- Deleting Files
- 安全删除
- 重命名文件
- 内联重命名
- 简单通配符重命名
- 高级重命名
- 重命名预设
- 重命名模式
- 标准通配符重命名
- 查找和替换
- 正则表达式
- 正则表达式 + 查找并替换
- 重命名操作
- 文件编号
- 重命名宏
- 重命名选项
- 使用元数据重命名
- 重命名脚本
- 创建文件夹
- 创建压缩包
- 添加到压缩包文件
- 添加到压缩包对话框
- Zip 选项
- 7z 选项
- RAR 选项
- TAR BZip2 选项
- TAR GZip 选项
- Zip 文件
- Zip 注释
- 只读模式
- 自解压 Zip 文件
- 跟踪和撤销文件操作
- 更改属性
- 标记和状态图标
- 编辑元数据
- 文档属性
- 图片属性
- 音乐属性
- 添加封套插图
- 视频属性
- 扩展属性
- 元数据的编程设置
- 时间偏移
- 文件说明
- 过滤操作
- 过滤条款
- 添加、删除和编辑子句
- 过滤条款类型
- 文本过滤器
- UAC 和管理员模式
- FTP
- FTP 地址簿
- 默认设置
- 站点页
- 网络页面
- Display Page
- 索引页面
- 声音页面
- 杂项页面
- 速度页面
- 特殊页面
- 转账页面
- 代理页面
- 添加新站点
- FTP 连接
- 站点属性
- FTP 日志
- FTP 路径
- 附加功能
- 查看图像
- 查看器鼠标、键和工具栏
- 图像标记
- 文件窗口关联查看器
- 播放声音
- 图像转换
- 自动化图像转换任务
- 打印文件夹
- 重复文件查找器
- 拆分文件
- 拼接文件
- 制作链接和连接点
- 浮动工具栏
- 控制浮动工具栏
- 系统级热键
- 导出到 USB
- 与 Everything 集成
- 擦除所有空白
- 文件类型概览
- 更新检查器
- CLI
- 崩溃日志
- 配置
- 备份和恢复配置
- 配置类别
- 色彩和字体
- 暗黑模式
- 主题
- 颜色混合
- Directory Opus 颜色
- Windows 颜色
- 图像
- 字体
- 文件列表
- 文件夹展开
- 鼠标
- 背景事件
- 导航
- 选项
- 信息提示
- Tab键
- 状态栏
- 标题栏
- 文件列表列
- 外观
- 求值器列
- 求值器分组
- 文件名
- 图标
- 选项
- Shell 属性
- 文件列表模式
- 详细信息
- 增强模式
- 外观
- 按钮
- 缩略图
- 文件夹
- 性能
- 样式
- 平铺模式
- 文件操作
- 文件复制
- 属性
- 确认
- 元数据
- 安全
- 删除文件
- 双击文件
- FTP
- 日志记录
- 元数据
- 元数据编辑器
- 音乐类型
- 选项
- 进度指示器
- 统计文件
- 作业栏
- 重命名文件
- 控制键
- 过滤和排序
- 过滤
- 过滤栏
- 即时查找
- 过滤模式
- 查找模式
- 文件夹模式
- 全局过滤器
- 快速键
- 排序
- 文件夹
- 自动读取
- 文件夹格式
- 自动格式
- 文件夹图像
- 文件夹大小
- 交接点和链接
- 网络服务器
- 特殊文件夹
- 虚拟文件夹
- 桌面
- 文件系统
- 此电脑
- 文件夹标签页
- 尺寸
- 边缘颜色
- 文件夹标签栏
- 分组
- 锁定
- 选项
- 文件夹树
- 外观
- 内容
- 展开/折叠
- 图钉
- 选项
- 选择事件
- 常用路径
- 收藏夹列表
- 文件夹别名
- 主文件夹
- 配对文件夹
- 最近列表
- 智能收藏夹
- Internet
- 电子邮件
- 更新
- 标记
- 标记 定义
- 标记分配
- 在特定文件夹中
- 选项
- 启动 Opus
- 资源管理器替换
- 来自桌面
- 任务栏图标
- 来自 Win + E 热键
- 启动
- 布局和样式
- 默认文件窗口
- 布局
- 样式
- 地址栏
- 选项
- 路径字段
- 外观
- 菜单
- 路径补全
- 工具栏
- 其它
- 高级选项
- 外部工具
- 隐私
- Shell 扩展
- 声音
- Windows 集成
- 跳跃列表
- Windows 启动延迟
- 工具栏
- 外观
- 文件夹工具栏
- 图标
- 选项
- 工具栏组
- 视图工具条
- 用户界面
- 语言
- Spacing
- 过渡动画
- 查看器
- 独立查看器
- Options
- 尺寸和位置
- 鼠标按钮
- 已标记图片
- 幻灯片放映
- 查看器窗格
- 查看器插件
- Zip 和其它压缩包文件
- 压缩包与 VFS 插件
- 压缩包选项
- 上下文菜单
- Zip 文件
- 自定义
- 自定义对话框
- 工具栏
- 上下文菜单
- 按键
- 命令
- User Commands
- 默认工具栏
- 创建您自己的按钮
- Editing the Toolbar
- 启动选项
- 工具栏上下文菜单
- 多功能按钮
- 下拉按钮和菜单
- 动态按钮
- 驱动器按钮配置
- Field Buttons
- 路径字段配置
- 过滤器字段配置
- 驱动器下拉配置
- 与他人分享功能
- 命令编辑器
- 简单命令编辑器
- 高级命令编辑器
- 使用热键控件
- 用户自定义命令
- 同步和异步函数
- 内部命令参数
- 将文件传递到外部程序
- 命令修饰符
- MS-DOS 批处理命令
- WSL 命令
- 嵌入重命名脚本
- DDE 函数
- 嵌入式功能
- 文件类型
- Directory Opus 文件类型
- 文件类型组
- 使用方式编辑器
- 文件类型编辑器
- Actions
- 事件
- 上下文菜单
- 下拉菜单
- 替换菜单
- Info Tip
- 平铺模式
- 脚本
- 重命名脚本
- Custom Fields in the Rename Dialog
- 脚本函数
- 脚本插件
- 包括文件
- 模块
- 脚本包
- 脚本安装器文件
- Script Management
- 创建新脚本
- 脚本安装器
- 脚本编辑器
- 脚本资产**
- 编辑器
- 代码编辑器
- 对话框编辑器
- 对话框编辑器命令
- Adding Dialog Controls
- 尺寸和定位对话框控件
- 使用布局命令
- 对话框控件制表顺序
- 对话框控制助记符
- 语言覆盖
- 对话框控件属性
- 常见对话框属性
- 对话框属性 若要编辑对话框的属性,请在任意控件外部单击对话框。适用于对话框的具体属性是:
- 静态文本属性
- 标记文本属性
- 编辑控件属性
- 按钮属性
- 复选框属性
- 单选按钮属性
- 组合框属性
- 列表框属性
- 列表视图属性
- 标签页控件属性
- 组框属性
- 字符串编辑器
- 片段
- 脚本对话框
- 创建脚本对话框
- 对话消息循环
- 简单对话框
- 分离对话框
- 读取对话框控件值
- 与对话框控件交互
- 资源
- 字符串资源
- 脚本日志
- 示例脚本
- 示例重命名脚本
- 简单脚本函数
- 添加新内部命令
- 添加新列
- 使用 Shell 属性添加新列
- 拓展即时查找领域
- 简单对话框和弹出菜单
- 脚本对话框示例
- 响应事件
- 求值器
- 求值器语法
- 求值器变量
- Applicable Contexts
- 求值器列
- 求值员组
- 过滤器和查找
- 文件信息提示和平铺
- 按钮和功能
- 求值器按钮标签
- 求值器按钮图标
- Tooltips
- Dynamic State
- Conditional Behavior
- 函数中的求值子句
- 求值插入代码
- 求值器生成的命令行
- 重命名
- 重命名控制键
- 状态栏
- 列上下文菜单
- 标签上下文菜单
- Examples
- 参考
- 通配符参考
- 模式匹配语法
- 正则表达式语法
- 状态栏代码
- 文件和文件夹计数代码
- 磁盘空间代码
- 音乐和视频时长代码
- 图形元素代码
- 其它代码
- 条形图和百分比
- 隐藏状态栏中的部分内容
- 状态栏上的填充部分
- 命令参考
- 参数类型
- 内部命令
- CLI
- Clipboard
- Close
- ContextMenu
- Copy
- CreateFolder
- Delete
- Favorites
- FileType
- Find
- GetSizes
- Go
- Help
- Image
- Join
- Marker
- Play
- Prefs
- Properties
- Recent
- Rename
- Select
- Set
- SetAttr
- Show
- Split
- Toolbar
- Undo
- 外部控制代码
- 用于传递文件名代码
- 有关路径的代码
- 对话框显示代码
- 日期和时间的代码
- Codes for clipboard and variables
- 命令修饰符参考
- 脚本参考
- 脚本对象
- 关于 AboutData**
- Activate文件窗口Data
- ActivateTabData
- AddCmdData
- AddColData
- AfterFolderChangeData
- 别名
- 别名
- Args
- AudioCoverArt
- AudioMeta
- BeforeFolderChangeData
- Blob
- BusyIndicator
- ClickData
- CloseListerData
- CloseTabData
- 列
- ColumnValue
- Command
- ConfigChangeData
- 控件
- CustomFieldData
- 日期
- Dialog
- DialogListColumn
- DialogListColumns
- DialogListGroup
- DialogListItem
- DialogOption
- DisplayModeChangeData
- 停靠窗口
- DocMeta
- DOpus
- DOpusFactory
- DoubleClickData
- DPI
- Drive
- ExeMeta
- 收藏**
- 收藏夹
- File
- FileAttr
- FileGroup
- FileOperationCompleteData
- FileSize
- FilesystemChangeData
- FiletypeGroup
- FiletypeGroups
- 过滤器
- FilterParseError
- FlatViewChangeData
- FolderEnum
- FontMeta
- Format
- FSUtil
- Func
- GlobalFilters**
- GetCopyQueueNameData
- GetCustomFieldData
- GetNewNameData
- HighlightedColumns
- 图像
- ImageMeta
- IncludeFileInitData
- Item
- 项
- Lister
- 列出对象
- ListerResizeData
- ListerUIChangeData
- 映射
- 元数据**
- Msg
- Open文件窗口Data
- OpenTabData
- OtherMeta
- PairedFolder
- Path
- 进度
- 快速过滤器
- Rect
- 结果
- 脚本
- ScriptColorPair
- ScriptColumn
- ScriptColumnData
- ScriptCommand
- ScriptCommandData
- ScriptFAYTCommand
- ScriptFAYTCommandData
- ScriptConfig
- ScriptInitData
- ScriptStrings
- ShellProperty
- ShutdownData
- SmartFavorite
- 智能收藏夹
- SortOrder
- SourceDestData
- StartupData
- StringSet
- StringTools
- StyleSelectedData
- SysInfo
- SystemSettingChangeData
- Tab
- TabClickData
- TabGroup
- TabGroups
- TabGroupTabEntry
- TabGroupTabList
- TabStats
- 工具栏
- 工具栏
- UnorderedSet
- Var
- Vars
- Vector
- 版本**
- VideoMeta
- Viewer
- 查看器
- ViewerEventData
- 工具
- WinVer
- 脚本事件
- OnAboutScript
- OnActivateLister
- OnActivateTab
- OnAddColumns
- OnAddCommands
- OnAfterFolderChange
- OnBeforeFolderChange
- OnClick
- OnCloseLister
- OnCloseTab
- OnDisplayModeChange
- OnDoubleClick
- OnFilesystemChange
- OnFileOperationComplete
- OnFlatViewChange
- OnGetCopyQueueName
- OnGetCustomFields
- OnGetNewName
- OnInit
- OnInitIncludeFile
- OnListerResize
- OnListerUIChange
- OnOpenLister
- OnOpenTab
- OnScriptColumn
- OnScriptCommand
- OnScriptConfigChange
- OnScriptFAYTCommand
- OnShutdown
- OnSourceDestChange
- OnStartup
- OnStyleSelected
- OnSystemSettingChange
- OnTabClick
- OnViewerEvent
- 求值器函数
- AbortFunc
- Abs
- Age
- Arg
- As
- Asc
- Atan
- Capitalize
- Cbrt
- Ceil
- Chr
- Cos
- Clip
- ClipFormat
- Count
- DateDiff
- DatePart
- DegToRad
- DisplayName
- Elapsed
- Exists
- FileCount
- FileExt
- FilePart
- Floor
- Format
- Hypot
- InStr
- IsAlpha
- IsChecked
- IsDigit
- IsEnabled
- IsLower
- IsParent
- IsPath
- IsPunct
- IsSelected
- IsSet
- IsSpace
- IsUpper
- KeyDown
- LanguageStr
- LCase
- Left
- Len
- MakeLegal
- Match
- Max
- Mid
- Min
- Now
- Output
- Parent
- PathType
- Pow
- RadToDeg
- RegEx
- RegExS
- Replace
- Resolve
- Reverse
- Right
- Root
- Round
- Running
- Select
- Sin
- Space
- Stem
- StrCmp
- String
- Sqrt
- Swap
- SysInfo
- Tan
- Trim
- Truncate
- TypeOf
- UCase
- URLEncode
- Val
- DOpusRT 参考手册
- 文件集合外部操作
- 检索文件和文件夹信息
- 元数据关键字
- Column 关键字
- SetAttr META 的关键字
- 文本过滤器
- 图标集
- 图标集 XML 定义文件
- 图标大小
- 图标名称
- 图标显示名称
- 图标类别
- DPI aware Icon Sets
- 本地化
- 图标图像
- 重命名宏语言
