github编辑

更新日志

  • 新增任务管理器,可管理 DO 脚本、求值器和后台任务(缩略图、元数据线程)

  • 改进了配置搜索对中文输入法的支持

  • 修复了当资源管理器替换模式切换为"所有文件夹"时,PowerToys 命令面板导致 Opus 打开名为"The Internet"的窗口(却显示桌面内容)的问题

文件操作:

  • 收藏夹支持收藏文件

  • 智能收藏夹支持排除文件夹

  • 即时查找(FAYT)支持固定输入栏

  • 启动时不再自动"修复" .Zip 文件类型事件(原双击/Shift+双击等 Opus 专属事件),默认行为现仅来自归档文件类型组,支持自由定制 Zip 文件在 Opus 内的双击行为(例如始终在新标签页打开)

  • 在"文件类型"对话框中的"Directory Opus 文件类型" 类别下添加了云项目条目。该条目现在负责为云存储文件添加 "始终保留在此设备上" 和 "释放空间" 上下文菜单命令,这意味着您可以在不需要时将其删除。

命令:

  • 默认编辑>选择其它菜单新增"随机选择"命令

求值器:

  • 为求值器添加了 forwhile 循环(以及 break / continue 关键字)。语法与 C/C++/Javascript 相同,例如 for (a = 0; a < 10; a++) { ... } 。循环体必须用 {...} 括号括起来。

脚本:

  • 脚本管理窗口支持脚本自定义配置界面

  • Vars.Set 现禁止存储非 Opus 对象(需序列化为 JSON 等格式)

  • FSUtil.Hash 现在可以异步操作并将其结果返回到对话框的消息循环 要使用此功能,请将 Dlg 对象作为第三个参数传递给 Hash 方法。Hash 方法将返回请求的 ID 号,当结果准备就绪时,消息循环将收到一条 hash 消息。Msg.data 值提供 Msg.dataMsg.object 值提供哈希值(可以是字符串,也可以是用于多个方法的向量)。

详细更新日志:

任务管理器

新增任务管理器窗口可显示各类运行中的Opus任务。当前展示三大任务组:脚本任务、求值器任务和后台任务(目前后台任务仅包含缩略图和元数据线程,未来将扩展更多类型)。

任务管理器实时显示任务状态及累计运行时长。支持手动终止脚本和求值器任务,并可为这两类任务启用紧急"禁用"标记。

通过命令 Help TASKMANAGER 可调出任务管理器(该命令已加入默认帮助菜单,重置操作工具栏至出厂设置即可自动获取)。默认快捷键为 Ctrl + Shift + F1

文件类型

  • 优化对仅通过*"打开方式"*系统关联(无正式注册表条目)的文件扩展名的处理

收藏夹

  • 收藏系统现支持添加文件(原仅限文件夹):

    • 点击收藏文件直接打开(树状图中点击则定位到父目录并选中该文件)

    • 新增文件夹树/内容偏好选项控制是否在树状图中显示收藏文件

偏好设置

  • 网络/更新新增两项设置:

    • 程序闲置时自动安装:启用自动下载更新后,当Opus无活动(无运行中功能/无打开窗口)或启动时将静默安装

    • 通过更新检查器静默安装:手动/自动触发安装时均以无交互模式运行(仍显示进度条)

  • 网络/更新现始终允许关闭 Beta 版检测。若当前安装 Beta 版且关闭检测,将提示"检测将持续至安装稳定版",并提供回滚到前稳定版的快捷链接

  • 新增文件夹标签/选项/按标签页锁定格式:启用后格式锁仅对当前可见标签页生效,不继承至其他标签

  • 常用路径/智能收藏夹新增排除列表,支持通过通配符排除特定文件夹

  • 将智能收藏夹分数配置移至独立页面

  • 新增杂项/高级:[限制]hotkey_sequence_time选项,可修改多键快捷键序列的默认5000毫秒按键间隔超时

  • 新增文件夹树/排序设置页,包含:

    • 同步文件显示排序:使树状图排序尽可能匹配文件显示顺序

    • 数字顺序排序:按文件夹名中的数值而非字符值排序

    • 应用全局忽略前缀:在树状图中同样忽略筛选与排序/排序中配置的前缀

    • 单词排序:对连字符等标点符号进行特殊处理

  • 启动时自动后台重建过期搜索索引(升级后首次搜索不再明显延迟,除非在启动10秒内操作),可通过偏好设置/杂项/高级:[行为]prefs_prebuild_search_index关闭

其它

  • 文件收藏集新增添加日期列(早期版本创建的收藏集无历史数据)

  • 标记文本代码 <#> 新增"fill"关键字支持填充整个区域(而不仅文本背景),例如状态栏代码 <#ffffff #aa0000 fill>...</#> 将整个分区填充为红色

命令

  • Go FOLDERCONTENT 等命令支持 maxwidth 参数限制菜单宽度(超长文件名自动截断)

  • 新增 resolvedirlinks 关键字:解析.lnk文件指向的文件夹(即使常规隐藏文件时也显示),与现有 noparselinks 的区别在于早期解析且应用目标文件夹过滤器

  • Go FOLDERCONTENT=move 等命令现支持嵌入式命令(通过 {$targetpath} 变量获取目标路径)

  • 独立查看器新增 Show VIEWCMD=nextrandom 命令(无需幻灯片模式即可跳转随机图片)

  • Select 命令多项增强:

    • 新增 NOCOLUMN 参数配合 RANGE 使用时不自动添加索引列

    • 新增 CASEIGNOREDIACRITICS 参数控制通配符选择的大小写/变音符号敏感度

    • Select INVERT TYPE=focus 可切换焦点项选中状态(适合重定义 空格键 行为)

    • Select SHOWHIDDEN 现可与 HIDESEL / HIDEUNSEL 组合使用

  • 刷新文件夹时可通过 Go REFRESH=filterkeep / filterclear 覆盖"自动清除过滤器"的默认设置

  • Favorites 命令新增 TYPE 参数过滤工具栏/菜单中的文件或文件夹

  • 脚本新增 @clearoutput 指令清空日志

  • 新增 @requires 修饰符显式声明函数需求

  • 命令模式的即时查找字段新增钉选按钮(快捷键 Ctrl + Shift + Page Down/Up 切换),支持重复编辑已执行命令

求值器

  • SysInfo() 函数新增 ListerCount 值返回当前窗口数

  • 重命名对话框的求值器插入子句可调用 Cancel() 跳过当前文件

  • 分组标题现支持标记文本(需返回包含 markup 变量的值集合)

  • Output() 函数新增第二参数(设为 true 时先清空日志)

  • 新增 EscapeWild 函数处理通配符转义

脚本

  • 新增 Path.GetDrive 方法获取驱动器对象, Drive.ssd 属性检测固态硬盘

  • SysInfo 对象新增 ListerCount 属性

  • 列表控件新增 GetItemRect() 方法获取项坐标(支持列表视图/列表框/标签控件)

  • Dialog.SetTimer 新增"单次触发"参数避免异步事件问题

  • Tab 对象新增 unresolved 属性获取原生路径(如 coll://

  • Metadata 对象新增 special 属性访问文件夹专属属性(如收藏集的 dateadded

  • 焦点列表视图按键事件现发送"key"消息( Msg.data 为虚拟键码, Msg.value 为键名)

  • 脚本配置 UI 现支持两种集成方式:

    • OnConfigureScript 完全接管配置对话框

    • OnAddConfigPages 在标准配置中添加扩展页签

  • 脚本对象新增 hasOwnProperty() 方法检测属性

  • Vars.Set 现禁止存储非 Opus 对象(需序列化为 JSON 等格式)

    如果您尝试将非 Opus 对象(例如 JScript 数组)存储在变量中, Vars.Set 方法现在将失败。特定语言的对象与创建它们的特定脚本引擎实例相关联,并且一旦脚本停止运行,它们将无法保留。要将非 Opus 对象持久化到 Opus 变量中,您可以对其进行序列化(例如,将它们转换为 JSON 字符串)。

部分更新日志:

  • 添加 硬链接数 列

命令:

  • 添加 Toolbar CLICKTOEDIT 命令,执行后下次点击工具栏按钮即可进行编辑

脚本:

  • 脚本命令支持向工具栏/菜单添加动态生成的按钮

  • 脚本命令支持修改调用按钮的选中/启用状态

其它:

  • 修复了阻塞部分版本 Chrome 弹出文件对话框的问题

  • 修复 ARM64 模拟部分问题

  • 修复了读取格式错误的 NTFS ADS 元数据的目录时发生的内存泄漏

据讨论群反馈:

  • 修复了 OneDrive 目录的文件右键菜单长时间卡住的问题

部分更新日志:

  • 在“文件类型”对话框中的“Directory Opus 文件类型” 类别下添加了云项目条目。该条目现在负责为云存储文件添加 “始终保留在此设备上” 和 “释放空间” 上下文菜单命令,这意味着您可以在不需要时将其删除。

  • 改进了配置搜索对中文输入法的支持

脚本:

  • FSUtil.Hash 现在可以异步操作并将其结果返回到对话框的消息循环

    要使用此功能,请将 Dlg 对象作为第三个参数传递给 Hash 方法。Hash 方法将返回请求的 ID 号,当结果准备就绪时,消息循环将收到一条 hash 消息。Msg.data 值提供 Msg.dataMsg.object 值提供哈希值(可以是字符串,也可以是用于多个方法的向量)。

  • 如果您尝试将非 Opus 对象(例如 JScript 数组)存储在变量中, Vars.Set 方法现在将失败

    特定语言的对象与创建它们的特定脚本引擎实例相关联,并且一旦脚本停止运行,它们将无法保留。要将非 Opus 对象持久化到 Opus 变量中,您可以对其进行序列化(例如,将它们转换为 JSON 字符串)。

文件操作

  • 标准请求对话框现在支持通过 Ctrl+C 复制内容

  • 支持在上下文菜单扩展长时间未响应时进行警告,可选择屏蔽相应扩展

  • 新增 配置/文件显示/鼠标/双击分组标题展开折叠 选项。默认情况下单击分组标题选中内容,双击则展开/折叠 - 但为了判断单击还是双击,Opus 需要在首次点击后等待双击间隔时间才执行文件选中操作。关闭此选项后,点击分组标题将立即选中其中文件(双击则无响应)。

  • 文件窗口菜单添加了 关闭所有其它窗口 命令

撤销支持开启顺序撤销,撤销后撤销动作不再会被加入撤销列表,而是一个新的重做列表。也可通过命令调用。新配置默认开启,旧配置不变。详细:

  • 新增 文件操作/选项/顺序撤销 偏好选项。启用后,撤销操作不再将被撤销动作置顶,而是添加到新的"重做"列表。支持连续撤销多个操作,并可按需反向重做。新配置默认启用,现有配置需手动开启,并需将"重做"命令添加至工具栏(见下文)

  • 新增 Undo REDO 命令用于重做前序操作(需启用顺序撤销)

  • Undo LIST 命令接受 "redo" 和 "both" 关键字,分别列出重做项、撤销项或两者

  • 默认菜单工具栏的编辑菜单默认包含重做命令。重置工具栏或从"自定义/默认工具栏"拖拽命令可快速添加

  • Undo LIST 命令新增 "max:X" 关键字控制最大列出项数(默认 10 项)

查看器:

  • Text 查看器插件支持在开启 UTF-8 选项时,对无效 UTF-8 编码文件自动回落到 ANSI 编码

压缩包:

  • 7z DLL 更新到 v24.09

  • UnRAR DLL 更新到 v7.11

命令

  • 新增 Go FORMATPATH 命令。读取当前文件夹格式设置的原始路径(如有)

  • 新增 Go REFRESH=state 选项。state 关键字使文件夹刷新时保留文件选中状态和滚动位置等。注意默认不记忆展开的文件夹状态 - 可通过添加 expanded 关键字或在配置中启用。若记忆展开状态则自动记忆其他状态元素 - 因此 state 关键字仅在未记忆文件夹展开状态时有效

  • 新增 Set HIDEFOLDERTABS 命令。可临时隐藏文件管理器窗口中的文件夹标签栏

  • 打印文件夹内容到文件时新增追加到现有文件选项(而非覆盖)。Print 命令新增 WHENEXISTS 参数实现自动化

  • Go TABSELECT 命令新增 noload 关键字,允许切换活动标签页时不触发"标签激活自动加载"行为

  • Prefs LAYOUTTHISLISTER=paths,noclose 新增 "noclose" 选项。从文件管理器加载标签页时不关闭现有标签

  • Go FOLDERCONTENT 新增 "includestart" 关键字。使生成的内容列表从指定文件夹开始(而非仅包含其内容)

  • GetSizes HASH 命令现可不指定哈希类型强制计算尚未计算的哈希列(因文件过大未自动计算时)

  • dopusrt.exe 命令新增 /nofocus 参数。若因此启动 Opus,程序将避免在启动时抢占窗口焦点。该参数必须位于命令行首,如:dopusrt.exe /nofocus /cmd Set NOOP

  • 新增 杂项/高级:[行为]go_usequalkeys_eval 偏好选项。可通过求值子句覆盖 Go USEQUALKEYS 参数的默认行为。求值子句可使用 "shift"、"ctrl" 和 "alt" 变量判断修饰键状态,应返回对应 Go 命令附加参数的字符串,或返回 false 保持默认行为。例如:if (shift) return "NEW";

求值器

  • 不缓存值的求值器列现可设置定期自动刷新(通过列配置字段)

  • 求值器 Val() 函数新增可选第二参数。设为 true 时,若第一参数命名的变量存在引用关系,则返回解引用后的值而非变量名本身。例如:

  • 状态栏分区现可通过求值器 {h=...=} 代码隐藏。返回 true 即隐藏该分区

  • 新增求值器 RecycleBin() 函数。可查询回收站整体或各驱动器的状态(是否满/空、大小、项目数)。若指定驱动器未启用回收站则返回 -1

脚本

  • 脚本对话框现支持"列表编辑"控件。这是 Opus 自定义控件,允许用户编辑路径列表或任意字符串列表。与列表视图不同,该控件自主处理绝大多数操作 - 脚本只需初始化路径/字符串列表(如有需要),并在更新配置时获取新列表即可

  • 新增 ScriptCommand.flags 属性。可设置影响脚本命令运行方式的标志位。未指定时默认为 "sd": s - 需要源文件夹(无源文件夹仍可运行) S - 必须要有源文件夹(无则终止运行) d - 需要目标文件夹 D - 必须要有目标文件夹 L - 必须要有文件管理器窗口 f - 需要选中文件 F - 需要选中文件夹 N - 必须要有选中项(根据其他标志决定文件/文件夹或两者) w - 针对目标文件夹运行时禁止交换源/目标文件夹

  • 新增 ScriptStrings.GetEscaped 脚本方法。功能同 Get 方法,但会解析字符串中的 Javascript 风格转义字符(如将 \n 转换为换行符)

  • 新增 Format.format_path 脚本属性,用于从脚本获取格式路径

  • 新增 Item.expanded 脚本属性。对文件显示中已展开的文件夹返回 true

  • 配置/杂项/声音 现在支持为脚本错误添加音效

文件列表

  • 针对单击模式的多项改进:

    • 将单击选项从 "配置/文件显示/鼠标" 移至独立页面

    • 单击模式的悬停选择和文件夹展开时间现可独立配置,不再与系统双击时间绑定

    • 单击模式下点击项目后立即打开,不再有延迟

  • 默认的 "编辑 > 切换尺寸格式" 按钮现更新为:当尺寸列被其他列替换时保持按尺寸排序(更新现有工具栏需从 "自定义 > 默认工具栏" 拖拽命令)

  • 新增 "配置/文件显示/文件夹展开/无子文件夹时节省空间" 选项。当文件显示中没有子文件夹时隐藏展开标记

  • "向上/返回时高亮前序文件夹" 功能现改用闪烁矩形覆盖层替代文字下划线,颜色可通过 "配置/颜色与字体/Directory Opus 颜色/[其他颜色] 杂项" 配置

  • "配置/文件显示列/外观" 页面现支持为每列配置自定义标题

视图

  • 缩略图

    • 叠加在缩略图上的文件类型图标现在会随缩略图尺寸缩放,而不再固定为小图标尺寸

    • 已将缩略图叠加设置移至独立的配置页面

    • 新增 "配置/文件显示模式/缩略图/叠加/在缩略图上叠加图标覆盖层(如有)" 选项

    • 新增 "配置/文件显示模式/缩略图/文件夹/查看子文件夹内容" 选项。启用后,Opus 会同时查看文件夹及其(顶层)子文件夹内容以生成文件夹缩略图

  • 在 "配置/文件显示模式/详细信息" 和 "高级模式" 中增加左侧填充选项

  • 将 "配置/文件显示模式/详细信息" 下的外观控件拆分至独立页面(与高级模式相同)。为详情和高级模式的外观设置页新增 "仅分组时使用左侧填充" 选项

  • 平面视图模式下的文件筛选现在会隐藏不含匹配文件的文件夹(需关闭 "平面视图模式下筛选文件夹" 选项)

文件夹格式

  • 支持通过 Set FORMATREMEMBERSet FORMATRESTORE 命令保存/还原当前标签页的文件夹格式

    前者记忆当前标签页的文件夹格式,后者恢复(并清除)先前记忆的格式。示例按钮脚本:

配对文件夹

  • 在配对文件夹配置中新增自动链接配对标签页选项

  • 若将配对文件夹设为默认导航锁定目标,即使窗口已处于双栏模式,进入导航锁定模式时也会自动读取该文件夹

工具栏

  • 标题栏

    • 新增 Set TITLEBARTOOLBARS 命令,允许通过命令控制 "将顶部工具栏移至窗口标题栏" 选项的开关

    • 默认 设置 菜单新增 标题栏 命令,用于开关 "将顶部工具栏移至标题栏" 选项(更新现有工具栏需从 "自定义/默认工具栏" 拖拽新菜单项)

    • 切换自定义标题栏时新增短暂淡入淡出效果以提升视觉体验

  • 为 "三按钮" 式按钮新增 "从子按钮动态获取图标/标签" 选项。启用时,顶层按钮将从子按钮的 @icon@label 子句中获取图标和标签

其它

  • Set DUAL=Toggle,Remember 命令现在会记忆先前关闭的侧边(左/右),并在重新打开时恢复至同侧

  • 图片转换对话框新增 JPEG "仅无损旋转" 选项。若无法无损旋转则跳过(除非其他选项要求必须重新压缩)。Image 命令新增 LOSSLESS 参数控制此行为(旧版 NOLOSSLESS 仍兼容)

  • 现支持在编辑控件中使用鼠标中键选词(效果同左键双击)

  • 编辑控件(如内联重命名)中双击选词现自动排除分隔符(空格、连字符等)。新增 "edit_wordselect_delimiters" 高级选项控制此行为

  • 同步工具新增 "仅文件名" 比较模式。此模式下仅比较文件名,因此只会复制目标位置不存在的文件,已修改文件将保持不变

  • MultiView 和压缩包插件支持通过文件夹别名指定 MultiView 和 WinRAR 的路径

脚本

  • 新增 "杂项/高级/Compatibility/jscript_defver" 设置,可指定 JScript 引擎的默认版本

  • Alt + F2 现在可跳转至脚本编辑器首个书签

  • 脚本对话框按钮控件现支持 fgbg 属性

  • 脚本对话框中,Control.AddTextModifyText 方法接收的 Map 对象现支持 wh 属性显式设置尺寸。多行文本显式设尺寸时将以背景色填充整个矩形区域。Map 对象新增 alpha 属性支持透明文本

  • 脚本对话框的标记文本控件现支持悬停提示。需在对话框资源中设置 Tooltips 属性为 true。可通过 <tip text="提示内容">...</tip> 标签定义提示,<a> 标签的 "text" 属性同样支持悬停提示

  • DialogControl 对象新增 ScreenToClient 方法(将屏幕坐标转换为相对坐标)和 ClientToScreen 方法(逆向转换)

  • 新增脚本对话框 Control.SetTooltip() 方法,可为任意控件添加提示文本

  • 新增 Dialog.GetFocusDialog.SetFocus 脚本方法,分别用于获取当前焦点控件名和设置焦点

  • 新增 OnDeleteScript 脚本事件,脚本可通过实现该事件在通过脚本管理对话框删除时执行清理操作

  • 脚本列若返回标记文本,现可在详情/高级模式的文件显示中呈现

求值器

  • 求值器现支持 as num 语法按当前区域设置格式化数字(如 1055 as num 可能返回 1,055

  • 新增求值器函数 Concat()

  • 新增求值器函数 DumpVars()

  • 求值器 RegEx() 函数现严格遵循文档规范 - 要求整个字符串匹配模式。部分匹配请使用 RegExS()

  • 新增基于 AQS 运算符的字符串运算符: ~< - 起始于(如 "directory opus" ~< "dir"=true) ~> - 结束于 ~~ - 包含 ~! - 不包含 $= - 单词等于(如 "the quick brown fox" $= "quick fox"=true) $< - 单词起始于(如 "the quick brown fox" $< "qui br"=true) $~ - DOS 通配符匹配(如 "directory opus" $~ "dir* op?s"=true)

  • 为求值器列新增标记文本支持选项。当请求标记文本时,操作值将被设为 "markup"

文件夹标签:

  • 支持拖放文件夹标签来直接创建新文件窗口

    现在可以将文件夹标签从标签栏中拖出,为它们创建新窗口(类似于网页浏览器),而无需将它们拖到 Windows 桌面上。

  • 当将文件夹标签拖出以作为新窗口打开时,拖拽缩略图现在会根据 DPI 进行缩放。

  • 修复了在双显示器窗口中拖动文件夹标签时,当**“将顶部工具栏移动到窗口标题栏”**开启时标题栏闪烁的问题。

命令:

  • 添加了 Go 命令的 SETFOCUS 参数。当与 OPENINDUAL 等关键字结合使用时,这会导致目标文件显示变为活动状态。你也可以将其与 Go DRIVEBUTTONS=multifunc 一起使用。

  • 添加 Toolbar RELOAD,可从硬盘重新载入工具栏

    添加了 Toolbar 命令的 RELOAD 参数;允许你从磁盘重新加载当前打开的工具栏(以防磁盘文件已更改)。

  • 以前,Toolbar 命令的 NAME 字段仅在 CLOSE 参数结合使用时支持 *this 表示当前工具栏。现在它也适用于其它参数(例如 TOGGLERELOAD 等)。

脚本:

  • DialogListItem.subitems 现在返回一个真实的对象(DialogListSubItems),它是一个由真实对象(DialogListSubItem)组成的集合,而不是字符串。现有代码应继续工作,无需修改。

  • 新的 DialogListSubItem 脚本对象具有 fgbgstyles 属性,允许为单个列指定颜色和字体样式。

  • 添加了 Filter.Load 脚本方法以加载已保存的过滤器。

  • 添加了 TabStats 属性 expandeddirsexpandedcontentsselexpandedcheckedexpanded 属性。

  • 脚本对话框中的单行和数字编辑字段现在有一个新的 Enter 属性。当设置为 true 时,在字段中按下回车键将不再触发对话框的默认按钮(如果有的话)——相反,你将在脚本消息循环中收到一个 “enter” 消息。

  • 脚本命令现在可以从它们的命令方法返回 1,以表示它们希望为每个选定的文件调用一次。

求值器:

  • 求值器 Rnd 函数现在每次在特定线程上调用时都会返回不同的值(以前它只保证在一段求值器代码内返回不同的值)。这意味着例如使用 {=Rnd()=} 的重命名函数将为每个文件获取不同的值。

  • 求值器 AscChr 函数现在支持 Unicode 代理对。

其它:

  • 改进了同步文件夹排除列表。即使排除的文件夹位于目标中不存在的其它文件夹内,现在也会跳过它们。

  • 改进了在已有同名文件时命名新连接/软链接等的逻辑。

  • 改进了“替换 > 重命名新文件”的逻辑,使其在查找和递增末尾的 “(1)” 样式计数时更加严格。

  • 首选项 / 杂项 / 高级: [行为] everything_autolaunch 支持了使用别名。

  • 如果读取网络文件夹失败且错误不是 Opus 认为需要身份验证的错误,错误消息现在包括一个 连接 链接,你可以点击以强制 Opus 请求凭据。如果连接成功,错误代码将添加到 network_errors 高级首选项设置中,以便将来失败时会立即请求身份验证。

文件窗口:

  • 工具栏添加了 Alt 键激活工具栏键盘模式的选项

  • 添加了 工具栏 / 选项 / 仅在按住键的情况下 选项。启用此选项后,只有在按住指定的修饰键时才会显示工具栏工具提示。

  • 自定义 / 工具栏 下添加了一个选项,用于在每个工具栏的基础上禁用鼠标悬停按钮突出显示。

  • 添加了 启动 Opus / 启动 / 始终执行启动操作 选项。启用此选项后,即使 Opus 启动以显示特定文件夹(例如,通过双击桌面图标),配置的启动操作(例如,打开上次关闭的文件窗口)也将始终执行。

文件列表:

  • 信息提示支持设置仅在按键时显示

  • 添加了 文件列表 / 文件夹展开 / 额外展开按钮宽度 选项。允许您在文件列表中可扩展文件夹的展开按钮周围添加额外的填充。还将 文件列表 - 展开按钮额外宽度 设置添加到 UI 间距方案中。

  • 如果启用了在缩略图模式下显示大小 / 日期的选项,它们现在将显示在文件夹和文件中。

文件操作:

  • 弹出菜单现在会在弹出时禁用输入法

  • 通过文件类型添加的上下文菜单命令现在可以具有自定义描述,这些描述作为工具提示显示。

  • 添加了 杂项 / 高级 / description_quick_flush 选项。在外部 descript.ion 格式中存储描述时,此选项会使描述更改立即刷新到磁盘,而不是被批量处理并在计时器上“延迟”写入。

  • 为 exif 文件添加了 GPSTimestamp 字段到元数据编辑器。

  • 添加了 文件操作 / 日志记录 / 在时间戳中包含秒包含毫秒 选项。

压缩包:

  • 压缩和其它压缩包 / 压缩文件 中添加了 假设 UTF8 文件名 选项,用于帮助处理存储文件名的 Zip 文件,这些文件使用 UTF8,但未在压缩包中设置标志来说明它们正在这样做。

命令:

  • 添加 Set PAIREDFOLDERS 命令,可以临时关闭当前窗口下的配对文件夹功能

  • Prefs LAYOUT=!lastclosed 现在可用于(重新)打开在 Opus 关闭时(或如果启用了备份选项,则定期间隔)自动保存的特殊文件窗口集。

  • 使用 Set BACKGROUNDIMAGE 命令设置文件窗口背景图像时,BACKGROUNDIMAGEOPTS=local 参数现在可用于使图像对单个文件窗口本地,而不是全局。使用 BACKGROUNDIMAGEOPTS=local,reset 将文件窗口重置为全局设置。

  • Properties SETLABEL 命令现在接受 !lastused 关键字。这将应用最近应用于文件的标签。使用此命令的按钮会自动显示最近使用的标签名称,并在应用不同标签时更新。

脚本:

  • 支持通过 // !JSCRIPTVER=3 来启用 Windows 11 22H2 中添加的新 JScript 特性,例如 String.trim()

  • 脚本可通过 Command.logchangesCommand.results 来获取命令执行的所有文件操作

  • 脚本编辑器现在记住从一次调用到下次调用在内部文本编辑器(通过 Ctrl-F2)中设置的书签。

  • 脚本列现在可以提供带有简单 HTML 标记的列文本,这些标记将在支持标记的地方使用(例如,在工具提示中)。标记文本应在 ScriptColumnData.markup 值中返回。

  • 脚本对话框现在支持日期/时间选择器控件。

  • 添加了 OnScheduledTimer 事件和 DOpus.SetScheduledTimer 方法。与 OnPeriodicTimer / DOpus.SetTimer 非常相似,只是您可以为计时器提供一个特定的日期 / 时间以触发它。请注意,计划的计时器只触发一次,如果指定的时间已经过去,它们将不会触发。

  • 添加了 Control.type 脚本属性;返回一个字符串,指示控件的类型。

其它:

  • 替换关于中的 Twitter 链接为 Bluesky 链接

修复:

  • 修复了 CreateFolder 命令的“自动读取”模式在提供包含额外斜杠的路径时(例如,CreateFolder D:\1234 READAUTO)出现混淆。

  • filecountdircount 等字段现在可以在求值标签过滤器中使用。

  • 修复了在前后文件夹历史记录列表中文件/文件夹计数未被正确保存的问题。

  • 全局所有内容搜索现在可以在空标签页中工作(通过搜索字段和即时查找)。

  • 使用“忽略变音符号”启用的搜索现在将 Ł(带划线的波兰 L)视为一个普通的拉丁 L 字符。

  • 创建到服务器共享的快捷方式现在可以工作。

  • 进行了一项更改,希望能够解决报告的单次点击模式问题(例如,DO 在单次点击模式下未注册点击 4arrow-up-right)。

文件窗口:

  • 在文件窗口菜单(左上角图标)中添加了重新启动和退出命令。默认情况下,它们会提示确认 - 在点击它们时按住 Shift 键可以跳过确认。

  • 在 配置 / 文件列表 / 导航 中添加了一个选项,用于控制导航锁定当两侧不同步时的警告消息。可以设置为详细(默认)、最小和关闭。这取代了 杂项 / 高级 中的旧选项,该选项只允许选择详细/最小,但不允许禁用消息。

文件列表:

  • 添加了将鼠标滚轮操作后的文件列表用作来源的选项(配置 / 文件列表 / 鼠标:鼠标滚轮切换源/目标状态

  • 添加了禁用 Ctrl + 右键选择/复制列数据的选项(配置 / 文件列表模式 / 详细信息增强模式 下的第一个复选框)

  • Alt + 滚轮(同时滚动双栏窗口的两侧)现在会将焦点返回到文件列表,而不是将其赋予第一个菜单/工具栏(因为 Alt 键通常激活菜单)

  • 缩略图样式列表(配置 / 文件列表模式 / 缩略图 / 样式)现在可以重新排序来调整样式的优先级

  • “相对大小”列现在在 “此电脑” 文件夹(Opus 原生实现)中可用

  • 当强制“此电脑”已有/空闲空间列使用特定单位(例如 GB)时,它们不再在显示零时切换为字节

  • 简化了常用使用/空闲磁盘空间情况下的状态栏图形工具提示。也不再将德语字符串小写

  • 现在,关闭了图标且标签狭窄(例如,仅驱动器字母)的文件夹标签会略微填充,以确保合理的最小可点击区域。同时修复了驱动器根目录的标签关闭按钮被不必要地隐藏的问题

文件操作:

  • Opus 现在会使用 NoCDBurning 系统设置

压缩包:

  • 现在您可以直接创建新的 CB7、CBR 和 CBZ 压缩包文件,无需先创建 7z、RAR 或 Zip 压缩包再将其重命名

  • 添加到压缩包新建压缩包 对话框中的压缩包格式下拉列表现在会在两个 Zip 处理程序都启用时区分内部和插件 Zip 处理程序。现在也只在扩展名与格式名称不同时才显示扩展名

命令:

  • 添加了 Close RESTART 命令,可以重启 Opus(立即重启,或者提供 confirm 参数来进行确认)。

  • TABCLOSEALL 参数现在被传播到由 Go TABGROUPLIST 生成的命令,因此可以使用例如 Go TABGROUPLIST=icons KEYARGS ctrl:TABCLOSEALL=no 来生成一个标签组按钮列表,当按住 Ctrl 键时,这些按钮会关闭现有的标签。

求值器:

  • 添加了 FindWindow() 求值器函数,可以根据标题和类名检查相应顶级窗口是否存在

脚本:

  • Item.MatchFilter 现在会在项目为加密压缩包文件时抑制密码提示

  • 在脚本对话框中,Control.AddItemInsertItemAt 现在允许在将 DialogListItem 添加到另一个 listview 控件时指定一个组 ID。之前只有传递字符串和数据值才能为新项目指定组

修复:

  • 修复了单次点击模式和文件列表背景双击事件之间的交互,这可能会导致在双击向上移动后自动进入一个新文件夹。

  • 修复了 “在文件名上开始套索” 选项阻止 Ctrl+单击 在详细信息模式下取消选中文件的问题。

  • 从通过 shell 枚举生成的 Go FOLDERCONTENT 菜单中选择快捷方式现在可以正确运行快捷方式。

  • 修复了 重命名 对话框在第一个名称包含大括号 “{” 时将 新名称 字段视为已修改的问题

  • 修复了配置中的命令字段将 & 字符添加到通过其下拉菜单选择的命令名称的问题

  • 修复了 Go REFRESH=expandedleftrightdest 等其它关键字一起使用时无法正常工作的问题

  • 修复了单个文件更改监视器为同一目录中的其它文件触发的问题

  • 修复了限定符键未通过拖放启动的函数传递的问题(仅影响命令预解析阶段)

  • 修复了通过命令更改 UI 间距模式时的冻结问题

  • 修复了在窗口在转换动画期间响应缓慢时可能发生的罕见崩溃问题(ID 360)

  • 修复了如果脚本仍在运行并尝试清除日志时在退出时崩溃的问题(ID 358)

文件窗口:

  • 添加了 工具栏 / 选项 / 仅在按住键的情况下 选项。启用此选项后,只有在按住指定的修饰键时才会显示工具栏工具提示。

  • 自定义 / 工具栏 下添加了一个选项,用于在每个工具栏的基础上禁用鼠标悬停按钮突出显示。

  • 添加了 启动 Opus / 启动 / 始终执行启动操作 选项。启用此选项后,即使 Opus 启动以显示特定文件夹(例如,通过双击桌面图标),配置的启动操作(例如,打开上次关闭的文件窗口)也将始终执行。

文件列表:

  • 添加了 文件列表 / 文件夹展开 / 额外展开按钮宽度 选项。允许您在文件列表中可扩展文件夹的展开按钮周围添加额外的填充。还将 文件列表 - 展开按钮额外宽度 设置添加到 UI 间距方案中。

  • 如果启用了在缩略图模式下显示大小 / 日期的选项,它们现在将显示在文件夹和文件中。

文件操作:

  • 通过文件类型添加的上下文菜单命令现在可以具有自定义描述,这些描述作为工具提示显示。

  • 添加了 文件操作 / 日志记录 / 在时间戳中包含秒包含毫秒 选项。

  • 添加了 杂项 / 高级 / description_quick_flush 选项。在外部 descript.ion 格式中存储描述时,此选项会使描述更改立即刷新到磁盘,而不是被批量处理并在计时器上“延迟”写入。

  • 为 exif 文件添加了 GPSTimestamp 字段到元数据编辑器。

压缩包:

  • 压缩和其它压缩包 / 压缩文件 中添加了 假设 UTF8 文件名 选项,用于帮助处理存储文件名的 Zip 文件,这些文件使用 UTF8,但未在压缩包中设置标志来说明它们正在这样做。

命令:

  • Prefs LAYOUT=!lastclosed 现在可用于(重新)打开在 Opus 关闭时(或如果启用了备份选项,则定期间隔)自动保存的特殊文件窗口集。

  • 使用 Set BACKGROUNDIMAGE 命令设置文件窗口背景图像时,BACKGROUNDIMAGEOPTS=local 参数现在可用于使图像对单个文件窗口本地,而不是全局。使用 BACKGROUNDIMAGEOPTS=local,reset 将文件窗口重置为全局设置。

  • Properties SETLABEL 命令现在接受 !lastused 关键字。这将应用最近应用于文件的标签。使用此命令的按钮会自动显示最近使用的标签名称,并在应用不同标签时更新。

脚本:

  • 脚本编辑器现在记住从一次调用到下次调用在内部文本编辑器(通过 Ctrl-F2)中设置的书签。

  • 脚本列现在可以提供带有简单 HTML 标记的列文本,这些标记将在支持标记的地方使用(例如,在工具提示中)。标记文本应在 ScriptColumnData.markup 值中返回。

  • 脚本对话框现在支持日期/时间选择器控件。

  • 添加了 OnScheduledTimer 事件和 DOpus.SetScheduledTimer 方法。与 OnPeriodicTimer / DOpus.SetTimer 非常相似,只是您可以为计时器提供一个特定的日期 / 时间以触发它。请注意,计划的计时器只触发一次,如果指定的时间已经过去,它们将不会触发。

  • 添加了 Control.type 脚本属性;返回一个字符串,指示控件的类型。

修复:

  • 修复了 CreateFolder 命令的“自动读取”模式在提供包含额外斜杠的路径时(例如,CreateFolder D:\1234 READAUTO)出现混淆。

  • filecountdircount 等字段现在可以在求值标签过滤器中使用。

  • 修复了在前后文件夹历史记录列表中文件/文件夹计数未被正确保存的问题。

  • 全局所有内容搜索现在可以在空标签页中工作(通过搜索字段和即时查找)。

  • 使用“忽略变音符号”启用的搜索现在将 Ł(带划线的波兰 L)视为一个普通的拉丁 L 字符。

  • 创建到服务器共享的快捷方式现在可以工作。

  • 进行了一项更改,希望能够解决报告的单次点击模式问题(例如,DO 在单次点击模式下未注册点击 4arrow-up-right)。

文件窗口:

  • 支持在复制标签页时复制所有状态,包括文件选择、展开文件夹、浏览历史,可在 配置/文件夹标签/文件夹标签栏 中设置

  • 信息提示隐藏子句 {!...} might be hidden... {!} 现在支持多行

  • 微调默认主题

工具栏:

  • 增强模式的按钮现在默认会被隐藏,可在 配置/文件显示模式/增强模式 中重新开启

  • 默认文件菜单和文件夹标签页菜单中添加了恢复上个关闭窗口的命令

  • 不再对文件上下文菜单自动分配加速键(按顺序分配字母作为加速键,13.7.2 引入)

  • 优化浮动工具栏外部图标读取

文件夹树:

  • 文件夹树现在会将 文件夹/特殊文件夹 中的其它云文件夹与默认云文件夹显示在一起

  • 现在在拖动到文件夹树上时会显示展开标记。

文件列表:

  • 文件收集和库现在支持了 shell 列

  • 添加 签名者 列,用于验证程序的签名

  • 添加 流数 列,用于显示对应文件的 NTFS ADS 的数量

  • 修复部分排序问题

文件操作:

  • 支持在复制文件时去除“来自互联网”的标记,可通过 文件操作/复制文件/元数据/去除区域信息 进行设置,也可以通过 Copy STRIPMOTW 命令调用

  • 图像转换器界面优化

  • 修复了进行文件操作后文件窗口有时不响应鼠标/键盘输入的问题

  • 修复了来自 Outlook 的拖放

查看器:

  • 独立查看器支持在使用文本插件时通过 Page UpPage DownHomeEnd 进行控制

  • 支持配置幻灯片是否使用淡入淡出动画

  • 预览窗格现在会避免预览隐藏的 ~$* 文件。解决 Microsoft 查看器在被要求查看 Microsoft 编辑器创建的临时文件时出现的错误。

  • 改进 WebP 图片探测

命令:

  • Clipboard COPYCOLUMNS 现在可以复制整个数据列,而无需先突出显示单元格(例如 Clipboard COPYCOLUMNS=index:0/1/4,all 将复制第 0、1 和 4 列的全部内容)。指定列索引而不使用 all 关键字将仅复制至少有一个单元格突出显示的项目的数据。

  • Copy

    • Copy WHENEXISTS=merge CREATEFOLDER 支持压缩包

    • Copy QUEUE 支持 quietnoisy 参数

    • Copy CREATEFOLDER 使用的对话框现在有了和普通创建文件夹对话框相同的“读取新文件夹”选项(读取、读取到新标签等)。为 Copy 命令添加了 READAUTO/K 参数。

  • Go

    • 添加 Go NEWTAB=dupe,可完全复制标签页;Go TABDUPLICATE 添加 fullnolocknocolor 参数

    • Go REFRESH 添加 expandednoexpanded 关键字

    • Go DRIVEBUTTONS, Go FOLDERCONTENT, Go FTPSITELIST, FavoritesRecent 命令支持使用 KEYARGS mmb: 来修改生成的路径列表的中键单击动作,例如 Go DRIVEBUTTONS KEYARGS mmb:NEW 可以修改中键动作为打开新窗口,而不是打开新标签页

    • Go 添加 TABGROUPDESC 参数,支持为标签页组添加描述,可在保存标签页组时保存

    • Go TABLOCK 支持通过 target 来指定源文件夹标签

    • 通过 Go TABGROUPLIST NEW 打开新窗口现在会设置标题栏的标签组名称。

  • Select

    • Select 添加 PATH 参数,支持通过路径选择文件

    • Select 命令添加了 NOTCOPYING 标志。将仅选择未参与复制作业(正在进行或排队)的文件。例如 SELECT ALLFILES NOTCOPYING

  • 添加 Set FOCUS=UtilityPane,与 Set UTILITY=Focus 作用相同

  • 添加了 Prefs POS 参数。在打开配置、自定义和脚本对话框时可以用它来控制新窗口的位置。选项为 lister(在活动文件窗口上方打开)、mouse(在鼠标指针下方打开)或指定位置(例如 POS=10,10)。

求值器:

  • 高级过滤器控件现在可以匹配求值器列的值。

  • 添加 IsDirIsFile 函数

  • 按钮中可以使用 selbytestotalbytes 变量

  • 控制键添加 ShowTips(),支持显示提示信息

  • 列添加 HasLabel(),支持判断文件是否含有指定标记

  • 按钮中可以在引用路径变量时通过添加 #q 后缀来自动添加双引号

  • 添加 Rnd 函数

  • @perfile 块内可以通过 preparse_dummy 变量来检查是否在进行预解析

  • 求值器 Chr 函数现在允许使用 CR(13)和 LF(10)。

  • 求值器现在将 CRLF 作为预定义值,扩展为包含回车符 + 换行符的字符串。

脚本:

  • 添加了 Command.DivertClipboard 方法。允许将通常会进入剪贴板的文本(例如通过运行 Clipboard COPYCOLUMNS 命令)转移到 Opus 变量中。

  • 添加了 OnQuickFilterChange 脚本事件。每当标签中的快速过滤器更改时(例如从过滤器栏),都会收到通知。

  • 添加了 OnPeriodicTimer 事件。允许脚本在可控的速率下定期调用 Opus。使用 DOpus.SetTimer() 方法创建定时器,使用 DOpus.KillTimer() 方法取消一个(或所有)定时器。

  • 添加 OrderedMap,可以保留插入顺序。脚本配置支持使用 OrderedMap 来指定各个配置项的顺序

  • 添加 OnPowerEvent,可接收系统电源事件

  • FSUtil.OpenFile() 支持占用文件,防止被其它程序读取或写入

  • FSUtil.Resolve() 添加 c 标志,可以将 8.3 短路径转换为长路径

  • 添加 FSUtil.GetSignature() 方法,可以获取程序的签名信息

  • 添加 OnConfigBackupOnConfigRestore 事件

  • 添加 DOpus.FlushConfig() 方法,支持强制保存当前编辑中的配置

  • 对话框添加 Dialog.singleton 属性,可禁止多开对话框

  • 对话框添加 Dialog.state 属性,用于获取对话框的显示状态;以及 Dialog.WindowCmd() 方法,可以改变显示状态

  • 添加了 Control.AddTextModifyTextRemoveText 方法。允许在脚本对话框中将覆盖文本添加到图像模式静态控件中。

  • 在脚本对话框中,Tab 控件支持了 Control.RemoveItemMoveItemAddItemInsertItemAt 方法,可以动态地删除、移动和添加回标签页。所有标签页仍然必须像以前一样在对话框编辑器中添加,但一旦对话框创建,您就可以使用 RemoveItem 删除一个或多个页面,并在需要时稍后添加回来。

  • Control.GetItemByNameControl.GetItemAt 现在也适用于 Tab 控件,以便通过其对话框的名称查找标签的索引(反之亦然)。

修复:

  • 默认阻止 123云盘 shell 扩展,避免旧版 123云盘 导致 DO 崩溃

  • 修复了复制标签页时未正确扩展子文件夹的问题。

  • 当文件窗口具有自定义窗口边框时,迷你配置/迷你自定义工具栏不再被调整为与顶部工具栏行相同的高度,而是使用标准窗口边框的高度。

  • 修复了在文件被单击/双击时,另一个窗口出现在 Opus 之上并在鼠标按钮被释放之前,以及然后点击文件列表中的某些元素时,内联重命名会开始。

  • 修复了求值器 Resolve() 函数无法用于某些系统文件夹的问题。

  • 修复了“记住标签的已展开项”在添加新标签后无法工作的问题。

  • 修复了文件计数列触发从云存储下载压缩包文件的问题。

  • 解决 Windows 错误,该错误可能会在最大化文本查看器后,鼠标刚刚越过滚动条时,将滚动条的一部分保留在文本查看器上。

  • ……

文件窗口:

  • 在文件窗口菜单(左上角图标)中添加了重新启动和退出命令。默认情况下,它们会提示确认 - 在点击它们时按住 Shift 键可以跳过确认。

  • 在 配置 / 文件列表 / 导航 中添加了一个选项,用于控制导航锁定当两侧不同步时的警告消息。可以设置为详细(默认)、最小和关闭。这取代了 杂项 / 高级 中的旧选项,该选项只允许选择详细/最小,但不允许禁用消息。

文件列表:

  • “相对大小”列现在在 “此电脑” 文件夹(Opus 原生实现)中可用

  • 缩略图样式列表(配置 / 文件列表模式 / 缩略图 / 样式)现在可以重新排序来调整样式的优先级

文件操作:

  • Opus 现在会使用 NoCDBurning 系统设置

命令:

  • 添加了 Close RESTART 命令,可以重启 Opus(立即重启,或者提供 confirm 参数来进行确认)。

  • TABCLOSEALL 参数现在被传播到由 Go TABGROUPLIST 生成的命令,因此可以使用例如 Go TABGROUPLIST=icons KEYARGS ctrl:TABCLOSEALL=no 来生成一个标签组按钮列表,当按住 Ctrl 键时,这些按钮会关闭现有的标签。

求值器:

  • 添加了 FindWindow() 求值器函数,可以根据标题和类名检查相应顶级窗口是否存在

脚本:

  • 在脚本对话框中,Control.AddItemInsertItemAt 现在允许在将 DialogListItem 添加到另一个 listview 控件时指定一个组 ID。之前只有传递字符串和数据值才能为新项目指定组

修复:

  • 修复了单次点击模式和文件列表背景双击事件之间的交互,这可能会导致在双击向上移动后自动进入一个新文件夹。

  • 修复了 “在文件名上开始套索” 选项阻止 Ctrl+单击 在详细信息模式下取消选中文件的问题。

  • 从通过 shell 枚举生成的 Go FOLDERCONTENT 菜单中选择快捷方式现在可以正确运行快捷方式。

文件列表:

  • 添加了将鼠标滚轮操作后的文件列表用作来源的选项(配置 / 文件列表 / 鼠标:鼠标滚轮切换源/目标状态

  • 添加了禁用 Ctrl + 右键选择/复制列数据的选项(配置 / 文件列表模式 / 详细信息增强模式 下的第一个复选框)

  • Alt + 滚轮(同时滚动双栏窗口的两侧)现在会将焦点返回到文件列表,而不是将其赋予第一个菜单/工具栏(因为 Alt 键通常激活菜单)

  • 现在,关闭了图标且标签狭窄(例如,仅驱动器字母)的文件夹标签会略微填充,以确保合理的最小可点击区域。同时修复了驱动器根目录的标签关闭按钮被不必要地隐藏的问题

  • 当强制“此电脑”已有/空闲空间列使用特定单位(例如 GB)时,它们不再在显示零时切换为字节

  • 简化了常用使用/空闲磁盘空间情况下的状态栏图形工具提示。也不再将德语字符串小写

压缩包:

  • 现在您可以直接创建新的 CB7、CBR 和 CBZ 压缩包文件,无需先创建 7z、RAR 或 Zip 压缩包再将其重命名

  • 添加到压缩包新建压缩包 对话框中的压缩包格式下拉列表现在会在两个 Zip 处理程序都启用时区分内部和插件 Zip 处理程序。现在也只在扩展名与格式名称不同时才显示扩展名

脚本:

  • 修复了单个文件更改监视器为同一目录中的其它文件触发的问题

  • Item.MatchFilter 现在会在项目为加密压缩包文件时抑制密码提示

修复:

  • 修复了 重命名 对话框在第一个名称包含大括号 “{” 时将 新名称 字段视为已修改的问题

  • 修复了配置中的命令字段将 & 字符添加到通过其下拉菜单选择的命令名称的问题

  • 修复了 Go REFRESH=expandedleftrightdest 等其它关键字一起使用时无法正常工作的问题

  • 修复了限定符键未通过拖放启动的函数传递的问题(仅影响命令预解析阶段)

  • 修复了通过命令更改 UI 间距模式时的冻结问题

  • 修复了在窗口在转换动画期间响应缓慢时可能发生的罕见崩溃问题(ID 360)

  • 修复了如果脚本仍在运行并尝试清除日志时在退出时崩溃的问题(ID 358)

修复了 13.8 的一些问题。

文件窗口:

  • 增强模式的按钮现在默认会被隐藏,可在 配置/文件显示模式/增强模式 中重新开启

  • 文件夹树现在会将 文件夹/特殊文件夹 中的其它云文件夹与默认云文件夹显示在一起

  • 微调默认主题

文件列表:

  • 文件收集和库现在支持了 shell 列

  • 添加 签名者 列,用于验证程序的签名

  • 添加 流数 列,用于显示对应文件的 NTFS ADS 的数量

  • 修复部分排序问题

文件操作:

  • 支持在复制文件时去除“来自互联网”的标记,可通过 文件操作/复制文件/元数据/去除区域信息 进行设置,也可以通过 Copy STRIPMOTW 命令调用

  • 图像转换器界面优化

  • 修复了进行文件操作后文件窗口有时不响应鼠标/键盘输入的问题

  • 修复了来自 Outlook 的拖放

查看器:

  • 独立查看器支持在使用文本插件时通过 Page UpPage DownHomeEnd 进行控制

  • 支持配置幻灯片是否使用淡入淡出动画

  • 改进 WebP 图片探测

命令:

  • Copy WHENEXISTS=merge CREATEFOLDER 支持压缩包

  • Copy QUEUE 支持 quietnoisy 参数

  • Go TABLOCK 支持通过 target 来指定源文件夹标签

  • 添加 Set FOCUS=UtilityPane,与 Set UTILITY=Focus 作用相同

  • 修复了命令编辑器中的中文菜单的奇怪加速键

求值器:

  • 添加 Rnd 函数

  • 添加 IsDirIsFile 函数

  • 按钮中可以使用 selbytestotalbytes 变量

  • 按钮中可以在引用路径变量时通过添加 #q 后缀来自动添加双引号

  • @perfile 块内可以通过 preparse_dummy 变量来检查是否在进行预解析

脚本:

  • 添加 OrderedMap,可以保留插入顺序。脚本配置支持使用 OrderedMap 来指定各个配置项的顺序

  • FSUtil.OpenFile() 支持占用文件,防止被其它程序读取或写入

  • FSUtil.Resolve() 添加 c 标志,可以将 8.3 短路径转换为长路径

  • 添加 OnConfigBackupOnConfigRestore 事件

  • 添加 DOpus.FlushConfig() 方法,支持强制保存当前编辑中的配置

  • 对话框添加 Dialog.singleton 属性,可禁止多开对话框

  • 对话框添加 Dialog.state 属性,用于获取对话框的显示状态;以及 Dialog.WindowCmd() 方法,可以改变显示状态

文件窗口:

  • 默认文件菜单和文件夹标签页菜单中添加了恢复上个关闭窗口的命令

  • 不再对文件上下文菜单自动分配加速键(按顺序分配字母作为加速键)

脚本:

  • 添加 FSUtil.GetSignature() 方法,可以获取程序的签名信息

文件窗口:

  • 支持在复制标签页时复制所有状态,包括文件选择、展开文件夹、浏览历史,可在 配置/文件夹标签/文件夹标签栏 中设置

  • 信息提示隐藏子句 {!...} might be hidden... {!} 现在支持多行

  • 优化浮动工具栏外部图标读取

命令:

  • 添加 Go NEWTAB=dupe,可完全复制标签页;Go TABDUPLICATE 添加 fullnolocknocolor 参数

  • Go REFRESH 添加 expandednoexpanded 关键字

  • Go DRIVEBUTTONS, Go FOLDERCONTENT, Go FTPSITELIST, FavoritesRecent 命令支持使用 KEYARGS mmb: 来修改生成的路径列表的中键单击动作,例如 Go DRIVEBUTTONS KEYARGS mmb:NEW 可以修改中键动作为打开新窗口,而不是打开新标签页

  • Select 添加 PATH 参数,支持通过路径选择文件

  • Go 添加 TABGROUPDESC 参数,支持为标签页组添加描述,可在保存标签页组时保存

求值器:

  • 控制键添加 ShowTips(),支持显示提示信息

  • 列添加 HasLabel(),支持判断文件是否含有指定标记

文件窗口:

  • 现在在拖动到文件夹树上时会显示展开标记。

  • 预览窗格现在会避免预览隐藏的 ~$* 文件。解决 Microsoft 查看器在被要求查看 Microsoft 编辑器创建的临时文件时出现的错误。

命令:

  • Copy CREATEFOLDER 使用的对话框现在有了和普通创建文件夹对话框相同的“读取新文件夹”选项(读取、读取到新标签等)。为 Copy 命令添加了 READAUTO/K 参数。

  • 添加了 Prefs POS 参数。在打开配置、自定义和脚本对话框时可以用它来控制新窗口的位置。选项为 lister(在活动文件窗口上方打开)、mouse(在鼠标指针下方打开)或指定位置(例如 POS=10,10)。

  • Clipboard COPYCOLUMNS 现在可以复制整个数据列,而无需先突出显示单元格(例如 Clipboard COPYCOLUMNS=index:0/1/4,all 将复制第 0、1 和 4 列的全部内容)。指定列索引而不使用 all 关键字将仅复制至少有一个单元格突出显示的项目的数据。

  • Select 命令添加了 NOTCOPYING 标志。将仅选择未参与复制作业(正在进行或排队)的文件。例如 SELECT ALLFILES NOTCOPYING

  • 通过 Go TABGROUPLIST NEW 打开新窗口现在会设置标题栏的标签组名称。

求值器:

  • 高级过滤器控件现在可以匹配求值器列的值。

  • 求值器 Chr 函数现在允许使用 CR(13)和 LF(10)。

  • 求值器现在将 CRLF 作为预定义值,扩展为包含回车符 + 换行符的字符串。

脚本:

  • 添加了 Control.AddTextModifyTextRemoveText 方法。允许在脚本对话框中将覆盖文本添加到图像模式静态控件中。

  • 添加了 Command.DivertClipboard 方法。允许将通常会进入剪贴板的文本(例如通过运行 Clipboard COPYCOLUMNS 命令)转移到 Opus 变量中。

  • 添加了 OnQuickFilterChange 脚本事件。每当标签中的快速过滤器更改时(例如从过滤器栏),都会收到通知。

  • 添加了 OnPeriodicTimer 事件。允许脚本在可控的速率下定期调用 Opus。使用 DOpus.SetTimer() 方法创建定时器,使用 DOpus.KillTimer() 方法取消一个(或所有)定时器。

  • 在脚本对话框中,Tab 控件支持了 Control.RemoveItemMoveItemAddItemInsertItemAt 方法,可以动态地删除、移动和添加回标签页。所有标签页仍然必须像以前一样在对话框编辑器中添加,但一旦对话框创建,您就可以使用 RemoveItem 删除一个或多个页面,并在需要时稍后添加回来。

  • Control.GetItemByNameControl.GetItemAt 现在也适用于 Tab 控件,以便通过其对话框的名称查找标签的索引(反之亦然)。

修复:

  • 修复了复制标签页时未正确扩展子文件夹的问题。

  • 当文件窗口具有自定义窗口边框时,迷你配置/迷你自定义工具栏不再被调整为与顶部工具栏行相同的高度,而是使用标准窗口边框的高度。

  • 修复了在文件被单击/双击时,另一个窗口出现在 Opus 之上并在鼠标按钮被释放之前,以及然后点击文件列表中的某些元素时,内联重命名会开始。

  • 修复了求值器 Resolve() 函数无法用于某些系统文件夹的问题。

  • 修复了“记住标签的已展开项”在添加新标签后无法工作的问题。

  • 修复了文件计数列触发从云存储下载压缩包文件的问题。

  • 解决 Windows 错误,该错误可能会在最大化文本查看器后,鼠标刚刚越过滚动条时,将滚动条的一部分保留在文本查看器上。

  • 可能修复了崩溃 ID 346。

  • 默认阻止 123云盘 shell 扩展,避免崩溃

求值器:

  • 移除 beta 引入的隐式返回特性

脚本:

  • 添加 OnPowerEvent,可接收系统电源事件

文件窗口:

  • 正常状态栏配置现在会在已满的驱动器上显示硬盘空间

  • 改进了中文版中上下文菜单的加速键分配(按顺序分配字母作为加速键,v13.9.2 撤销)

  • 优化了打开含有大量文件夹标签的文件窗口时的性能

文件列表:

  • 支持在刷新/前进后退时保留文件夹展开状态,配置位于 文件显示/文件夹展开 页中

  • 支持配置对不能监控变化的文件夹(例如 WSL)自动定时刷新

  • 支持禁用按 Esc 清空即时查找

  • 支持禁用重命名时按 Ctrl 显示控制键或调整显示延迟

  • 缩略图视图支持禁用选中文件时显示完整文件名

  • 优化显示已缓存缩略图时的性能

文件操作:

  • 元数据编辑器支持显示排序后的标签

  • 支持配置在搜索时自动启动 Everything

  • 过滤器现在可以搜索 EXIF 拍摄时间为空的图片

查看器:

  • 查看器支持只显示图片的 R/G/B/A 通道

  • 查看器在标题中的路径太长时会进行截短

  • 支持在切换图片时显示淡入淡出动画,需要使用 Show SLIDESHOW=fade 命令

命令:

  • 编辑器支持通过 Ctrl+滚轮 缩放字体

  • 增加 @color 修饰符,可以使用求值器改变按钮的颜色

  • 增加 Set INFOTIPS,可以对信息提示进行配置

  • 增加 Set UTILITY=float,可以将脚本日志等窗格显示为悬浮窗口

  • Set BACKGROUNDIMAGE 会在切换背景时使用淡入淡出动画,可以通过参数关闭

  • Go FOLDERCONTENT 支持内嵌函数

  • 求值器添加 SysInfo("VerBuild") 属性

脚本:

  • 添加 EverythingInterface 对象,可以启动 Everything,进行搜索;也支持获取、设置、增加指定文件的 Everything 运行计数

  • 添加 Command.RunAsyncRunCommandAsync 方法

  • 增加 Image.type 属性

  • 增加调色板控件

  • 对话框支持开启最小化/最大化按钮

  • 按钮支持响应右键事件

  • 增加 Dialog.WatchClipboard() 方法和 OnClipboardChange 事件,可以监控剪贴板变化

  • 增加 Dialog.AddCustomMsg(),可以在不同脚本间发送消息,以及 Dialog.msgonly,可以创建一个只用于接收消息的对话框

  • 增加 Tab.Notify() 方法,可以向文件夹标签发送消息,显示在状态栏中

  • 增加 Dialog.FlushMsg() 方法

文件窗口:

  • 支持将第一行工具栏显示到窗口标题栏中,选项位于 配置/工具栏/选项 中

    • 支持为标题栏工具栏单独配置颜色

    • 可以拖动任意工具栏的空白处移动窗口

    • 鼠标悬浮在窗口图标上会提示窗口标题

    • 增加了内置的窗口标题动态按钮

    • 支持显示配置/自定义按钮

  • 空白按钮现在可以显示标签

  • 标签按钮和空白按钮现在可以使用求值器来定义标签

  • 文件窗口标题现在可以使用 %F 来显示选中文件的完整路径

文件列表:

  • 支持通过光标悬浮来展开子文件夹,可在 文件显示/鼠标 中进行设置

  • 允许对我的电脑中硬盘大小的单位进行设置(KB/MB/GB)

文件操作:

  • 支持在文件收集中使用 Everything 搜索

  • 现在可以按 Ctrl 键来显示可用的重命名控制键

  • 行内重命名历史列表

    • 现在会在选中历史列表项目时更新文件名

    • 按回车键选定名称时不会进行重命名,可以进一步进行编辑

    • 按 Esc 键关闭列表时会还原文件名

    • 按 Ctrl+Z 会还原上一个选中的名称,而不是原始文件名

  • 复制和新建快捷方式的文件名模板现在可以使用 %3 来插入不带括号的计数,也可以使用求值器来生成文件名

  • 建议列表现在会在按 ↑ 键时选中最后一项,而不是第一项

查看器、VFS:

  • 查看器支持通过内容识别 WebP 文件,即使扩展名不是 .webp 也可以正常显示

  • 全屏查看器现在会在打开菜单时暂停播放幻灯片

  • 即时查找和文本查看器的搜索支持了 Unicode 代理对(例如 emoji 和部分汉字)

  • VFS 插件的描述现在会在行内显示

命令:

  • Set 命令支持通过 BACKGROUNDIMAGEBACKGROUNDIMAGEOPTS 参数来修改文件窗口背景

  • 支持通过 Set THUMBNAILBORDERS 调整缩略图边框

  • Set AUTOSIZECOLUMNS 支持了指定要调整的列

  • 修复了 GoHelp 命令使用 F1 打开帮助时打开了错误的页面的问题

求值器:

  • 函数中的求值器现在可以跨越多行

  • 状态栏求值器现在可以使用 dual 变量来判断双栏

  • 在工具栏中使用求值器时可以使用 lister_title 来获取窗口标题

  • 求值器函数 SysInfo() 现在会返回版本号

脚本:

  • 脚本添加了 HTTPRequest 对象

  • 脚本方法 FSUtil.ReadDir() 支持通过选项来阻止读取加密压缩包时弹出密码输入框

    由 @Sanhuaitang 反馈

  • 脚本支持通过 //@@include 来引用文件

  • 脚本对话框按钮现在支持显示图标和关闭边框

  • 修复 JS 引号转义高亮

其它:

  • 修复了 搜狗/微信输入法 导致 Chrome 崩溃的问题

    https://t.me/IbDirectoryOpus/224

    由 @Cesaryuan 反馈

  • 修复了向字体文件夹拖放字体进行安装时的崩溃问题

  • 重新支持配置 HTTP 代理,但可能不支持大部分服务端,例如 Clash

  • 重置上下文菜单时支持保留已有项目

文件列表:

  • 支持在刷新/前进后退时保留文件夹展开状态,配置位于 文件显示/文件夹展开 页中

  • 支持配置对不能监控变化的文件夹(例如 WSL)自动定时刷新

  • 支持禁用按 Esc 清空即时查找

  • 支持禁用重命名时按 Ctrl 显示控制键或调整显示延迟

  • 缩略图视图支持禁用选中文件时显示完整文件名

  • 优化显示已缓存缩略图时的性能

文件窗口:

  • 查看器支持只显示图片的 R/G/B/A 通道

  • 元数据编辑器支持显示排序后的标签

  • 支持配置在搜索时自动启动 Everything

  • 过滤器现在可以搜索 EXIF 拍摄时间为空的图片

命令:

  • 编辑器支持通过 Ctrl+滚轮 缩放字体

  • 增加 @color 修饰符,可以使用求值器改变按钮的颜色

  • 增加 Set INFOTIPS,可以对信息提示进行配置

  • 增加 Set UTILITY=float,可以将脚本日志等窗格显示为悬浮窗口

  • Go FOLDERCONTENT 支持内嵌函数

脚本:

  • 增加调色板控件

  • 对话框支持开启最小化/最大化按钮

  • 按钮支持响应右键事件

  • 增加 Dialog.WatchClipboard() 方法和 OnClipboardChange 事件,可以监控剪贴板变化

  • 增加 Dialog.AddCustomMsg(),可以在不同脚本间发送消息,以及 Dialog.msgonly,可以创建一个只用于接收消息的对话框

  • 增加 Tab.Notify() 方法,可以向文件夹标签发送消息,显示在状态栏中

  • 增加 Image.type 属性

文件窗口:

  • 正常状态栏配置现在会在已满的驱动器上显示硬盘空间

  • 改进了中文版中上下文菜单的加速键分配(按顺序分配字母作为加速键,v13.9.2 撤销)

查看器:

  • 查看器在标题中的路径太长时会进行截短

脚本:

  • 添加 Dialog.FlushMsg() 方法

其它:

  • 修复了中文版中上下文菜单的显示异常(v13.7.1)

    https://resource.dopus.com/t/right-click-menu-text-display-error/51528?u=chaoses-ib

    由 @mingkingfox 反馈

  • 重复文件查找现在可以使用指定的列来进行识别,也就是说可以使用脚本/求值器来完全自定义重复文件的匹配

  • 重复列模式现在支持使用索引搜索(Windows/Everything)

  • 在文件列表中重命名时,右键背景现在会弹出文件夹的上下文菜单,而不是正在重命名的文件的

  • 过滤栏对于 ~( 开头的模式会自动关闭任意匹配

  • 文件类型统计现在不再使用多部位扩展名(例如 .tar.gz),而只使用最后一个部位(例如 .gz

  • 收藏栏现在可以直接拖动项目到子菜单,不需要先打开子菜单再拖动

  • 文件夹树中,桌面现在可以被放在我的电脑里面,而不是单独的顶级节点

  • 支持在主显示器上强制使用默认或指定色彩配置,需要在高级选项中设置

  • 求值器添加选中文件路径 selpath 变量

  • 脚本配置支持浮点数

部分更新内容:

  • 即时查找的过滤栏模式现在默认开启部分匹配

  • 在激活即时查找的范围选择模式时会自动显示序号列

  • 即时查找的 DOS 和 WSL 模式现在会显示不同的图标

  • 独立查看器恢复置顶功能

  • 独立查看器现在会在选取图片区域时显示坐标和大小

  • 创建文件夹对话框中,回车键不会再导致自动完成上屏,现在只需要按一次回车就可创建

  • 支持配置不同颜色来显示当前排序列

    https://resource.dopus.com/t/custom-color-for-sorted-column-header/49891?u=chaoses-ib

  • 现在可以关闭当前文件夹标签周围的阴影了

  • 脚本函数(按钮)可以使用 @include

  • 脚本现在可以获取所有 Shell 属性而不只是列属性

  • 添加 Tab.highlighted 属性,可以获取文件夹标签页中有单元格被选中的文件(由白天反馈)

  • 修复了要打开用户文件夹并选中文件时的资源管理器替换

部分更新内容:

  • 标记支持删除线样式

  • 过滤栏支持求值器(evaluator),可以使用类似 size > 2gb?bigfiles 的语法

    https://resource.dopus.com/t/playground-using-the-evaluator-in-the-filter-bar/49510?u=chaoses-ib

  • 创建文件夹对话框支持批量创建带序号的文件夹,例如 第<001-100>个文件夹第<100>个文件夹

  • 支持使用 7zip 插件而不是内置 zip 库来处理 zip 文件,默认不开启

  • 支持 PNG 无损压缩

  • 增加了 @sendkey 修饰符和 DOpus.SendKey() 方法,可用于模拟按键

  • 修复了在配置窗口的搜索框中首次使用输入法输入时,第一个字符外或全部字符丢失的问题

    https://t.me/IbDirectoryOpus/147

→DOpus 13 Highlights 翻译arrow-up-right

DOpus 13 的在线使用手册arrow-up-right已更换 CMS 为 DokuWikiarrow-up-right

DOpus 13 部分更新内容:

界面:

  • 支持暗色模式

  • 工具栏支持透明背景图片

  • 许多窗口调整了界面

文件列表:

  • 支持自动保存文件夹格式

  • 支持使用 Everything 计算文件夹大小

  • 支持文件夹配对(paired folders),在打开文件夹时自动打开预设的对应文件夹

  • 支持为文件夹关联工具栏(folder toolbars)

  • 文件夹标签支持设置线条颜色(color accents along their edges)

  • 支持缩略图缩放模式(resize mode)和渲染风格(render style)

  • 支持自定义求值列(Evaluator column)

  • 手动排序支持保存多种顺序

  • 支持隐藏文件名的扩展名

  • 文件夹格式支持不排序新文件

  • 文件夹标签支持在过长时省略名称

  • 文件夹树支持锁定文件夹展开

文件操作:

  • 行内重命名支持快捷键调用预设

  • 文件夹标记(folder labels)

  • 定时查找文件夹?

  • 支持单击文件图标打开文件

  • 支持单击中键切换选中状态

  • 单列窗口可同时作为 源 和 目的

  • 支持进行文件类型(以及文件数量、文件大小)统计

  • 修改文件属性时支持增减时间

  • 图像转换支持保存预设和进行重命名

  • 支持在操作文件时使用 Everything 进行文件计数

命令 & 脚本:

  • 支持脚本实现/处理 FAYT(即时查找)命令

  • 新增了许多用于简化脚本编写的内置函数

  • 新增了 include file script,可能是指将脚本作为库提供给其它脚本引用

  • 代码编辑框修复了 Unicode 文本光标偏移的问题(由 @laoqiuqiu 测试)

  • 支持设置外部脚本编辑器

  • 脚本相关界面变化

  • 程序启动命令生成窗口界面变化,支持进行测试

其它:

  • 增加 Shell 扩展和 Shell 属性设置

  • 支持定时备份打开的文件窗口

  • 改进 FTP 相关支持

  • 在升级到 v13 时可以选择要升级的默认工具栏和菜单

注意,DOpus 13 目前仍在内测,以上更新内容是通过解包猜测得出的,如果将来发现报导上有偏差,我不负责。

最后更新于