Directory Opus是一款功能强大,可高度定制化的付费资源管理器,UI在同类竞品中也算比较好看,可以很好的代替Windows Explorer。
鉴于网络上相关中文资料实在太少,主要的讨论也都在官方论坛中以英文形式进行,所以记录一下一些使用的心得,同时也给自己备忘方便查阅。 大概会不定时更新一些东西,可以通过文章最上方/右侧的目录或Ctrl+F进行检索。
基本配置
禁用视频的查看器预览
默认是开启视频预览的,如果不想启用这个设置。在设置-查看器-插件-Movie-配置
取消自动播放视频
选项。
保存目录展示布局(文件夹格式)
在特定的目录中想要单独已某种布局展示,比如照片文件夹中,希望所有文件平铺显示缩略图,以便直接预览文件内容。
默认情况下,打开文件夹-文件夹选项
,点击保存即可保存当前文件夹的格式,包括清除已保存格式
、保存为默认格式
等选项。根据实际情况进行选择。
文件夹中设置的缩略图大小并不会随着布局格式一起保存
双击空白处返回上一级或后退
打开顶部栏的设置-选项
启用文件显示栏-鼠标
中的双击背景时
,并设置以下命令之一:
Go Back
后退,即返回到操作历史记录的上一次目录,并非跳转到该文件夹的上一级目录。Go Up
返回上一级,即返回到该文件夹的上一级目录(父级目录)
代替Win+E快捷键
默认情况下,Windows系统的win+E
快捷键会呼出文件资源管理器的主文件夹。我们用win+E
来代替呼出Directory Opus
。
设置完毕后,需要重新启动电脑才能生效。
设置快捷键
顶部菜单栏任意位置单击右键
,唤出上下文菜单,选择其中的自定义
即可打开自定义界面。
设置主题(应用、导入、导出、保存)
打开顶部栏的设置-主题
上方的文件
菜单用于导入、导出、保存主题。 下方的按钮可以前往官方论坛下载别人分享的主题。下载完毕后可以通过文件菜单进行导入并应用相应主题。
在桌面打开文件夹时使用已有窗口
默认情况下,在桌面打开一个文件夹,会在一个新的Opus窗口中打开。如果想要在现有窗口的新标签页中打开,启用设置
-选项
-DOpus启动
-资源管理器替代
,勾选在新标签中打开外部文件夹
。
部分扩展名无法显示
默认情况下,有部分扩展名会被忽略掉,如DO的dcf
。
在设置 - 选项 - 文件显示列 - 文件名 中,关闭隐藏Windows注册表中指定的其他扩展
。
Why .dcf extension are not show in DO13?
自定义配置
自定义颜色、字体
界面中颜色、字体相关的设置项基本都在选项-显示-颜色和字体
中,显示
中的其他标签页也可以配置相关的界面自定义内容。
自定义图标包
内置的图标包说实话普普通通,我们可以通过选项-工具栏-图标
中,点击下载更多图标
,下载别人分享的图标包并进行导入。
也可以根据自己收集图片,打包成图标包。图标包实际上就是一个包含图标描述文件XMl和图标整合图片的压缩包,按照官方文档-图标集给出的格式编写对应的XML并打包资源即可。
以下由论坛用户@Tenebrous
分享了一个快速打包的bat脚本:如何制作自己的图标包。
使用方式也比较简单,先创建一个文件夹,里面是想要制作成图标包的图片资源,一般是各种PNG格式的图片。
然后下载zip.exe
、montage.exe
以及打包脚本doicon.bat
,下载方式原帖中有详细说明。
montage.exe
可以通过下载ImageMagick便携版本,解压并获取。
zip.exe
在sourceforge可以下载。
打包脚本见原贴下方,下载链接。
或者可以直接到我的Github仓库下载(以前从以上方式中提取的)。
https://github.com/nyable/DirectoryOpus-Config/tree/main/bin
将这两个可执行文件和脚本放到想要打包的图标文件夹中,在文件夹中按以下方式执行bat脚本即可。
脚本原来叫做doicon.bat
,为了方便查找,我把它重命名为MakeIconSet.bat
.\MakeIconSet.bat 文件路径/*.扩展名 自定义图标包名称
,如:
.\MakeIconSet.bat *.png MyIcons
自定义文件(类型)/目录的鼠标点击事件
在设置
-文件类型
-Direcotry Opus文件类型
中双击所有文件夹
,弹出的新窗口中有操作、事件、右击菜单、拖放菜单等选项卡。选择事件,然后编辑对应事件的命令脚本即可。
比如想把双击文件夹
的操作由进入文件夹
改为在新标签页打开文件夹
,找到左键双击
事件,将默认的go
命令改为go newtab
即可。
命令并不局限于go
命令,不过一般对于目录的事件操作还是以跳转为主,以下列出常用的go
命令参数:
- go:在当前标签页打开目录
- go newtab:在新的标签页打开目录
- go new:在新窗口中打开目录
- go openindual:在当前窗口分栏打开目录(双栏布局)
- go openinleft:在双栏布局的左栏/顶栏打开目录
- go openinright:在双栏布局的右栏/底栏打开目录
- go refresh:刷新
- go root:跳转到当前路径的根路径,C:/users/test->C:
自定义其他文件类型的事件同理。
自定义标记与搜索
除了默认的颜色和状态标记,在设置
-选项
-收藏夹&最近访问列表
-标记
中可以自定义标记。
通过选中文件/文件夹,然后右键菜单
-标记/设置状态
。
在Opus中搜索对应标记的文件可以使用工具
-查找文件(Ctrl+F)
-高级(A)
。点击+号
新增一条匹配规则,将类型下拉框选择为标记
,模式下拉框选择为匹配
,然后用关键字匹配对应的标签名即可。
比如想搜索红色
的文件,就输入红色
,想把所有颜色标记都搜索出来就可以勾选通配符或者正则表达式来匹配,比如*色
(通配符)会匹配任何以色结尾的,而^.色$
(正则表达式)则只会匹配两个字的颜色。
自定义脚本
自用的一些自定义脚本,包括自定义的重命名脚本预设、自定义用户脚本等。
脚本和说明都在脚本仓库中,以下仅列出部分。
自动解压
类似Banzip的自动解压,将压缩文件内容解压到同名文件夹中,如果根内容是同名文件夹,则将内容直接解压出来,防止文件夹无意义嵌套一层和文件散乱。
function OnInit (initData) {
initData.name = "SmartExtract"
initData.version = "1.0"
initData.copyright = "(c) 2024 nyable"
initData.desc = "自动解压(AutoSmartExtract):SmartExtract fullpath"
initData.default_enable = true
initData.min_version = "12.0"
DOpus.Output(initData)
var cmd = initData.addCommand()
cmd.name = 'SmartExtract'
cmd.method = 'OnSmartExtract'
cmd.desc = initData.desc
cmd.label = "SmartExtract"
cmd.template = "SOURCE/M"
}
function OnSmartExtract (cmdData) {
var args = cmdData.func.args
var cmd = cmdData.func.command
if (!args.got_arg.source) {
DOpus.Output('Need select a zip file as source', true)
return
}
var targetList = args.source
DOpus.Output(targetList.length)
for (var i = 0; i < targetList.length; i++) {
var zipPath = targetList[i]
if (DOpus.FSUtil.Exists(zipPath)) {
var target = DOpus.FSUtil.GetItem(zipPath)
// 文件的全路径
var fullPath = target.RealPath
// 文件的简单名称(不包括扩展名)
var fileNameStem = target.name_stem
var fileParentPath = target.path
var extractDir = fileParentPath + '/' + fileNameStem
DOpus.Output('开始解压文件:' + fullPath + '=>' + extractDir)
var result = cmd.RunCommand("COPY " + wrapPath(fullPath) + " EXTRACT=sub HERE")
if (result) {
DOpus.Output('解压完毕:' + fullPath)
var folderEnum = DOpus.FSUtil.ReadDir(extractDir)
while (!folderEnum.complete) {
// 如果只有1个文件夹且文件夹是同名文件夹则往上一级移动
var files = folderEnum.Next(5)
var fileCount = files.count
if (fileCount == 1) {
var firstFile = files[0]
if (firstFile.is_dir && firstFile.name == fileNameStem) {
var firstRealPath = firstFile.RealPath
cmd.RunCommand('COPY MOVE ' + wrapPath(firstRealPath) + ' TO ' + wrapPath(fileParentPath))
DOpus.Output("将目录" + firstRealPath + '移动至' + fileParentPath)
}
}
}
} else {
DOpus.Output('解压失败:' + fullPath, true)
}
} else {
DOpus.Output('解压时文件不存在,跳过该文件:' + zipPath, true)
continue
}
}
}
function wrapPath (path) {
if (path) {
return '"' + path + '"'
}
return '""'
}
重新打开关闭的标签页路径
yt-dlp调用GUI
番剧(字幕)标准化
将常见字幕组发布格式的文件格式化为番剧名 - S1E1
此类适合刮削的名称。
function OnGetNewName(getNewNameData)
{
var item = getNewNameData.item
var newName = item.name_stem
newName = newName.replace(/\[(\d{1,2})\]/g,'- S1E$1')
newName = newName.replace(/-?\s(\d{1,2})/g,'- S1E$1')
newName = newName.replace(/第(\d{1,2})[话|話]?/g,'- S1E$1')
newName = newName.replace(' - -',' - ')
newName = newName.replace(/\s{2,}/g,' ')
newName = newName.replace(/\(.+?\)/g,'')
newName = newName.replace(/\[.+?\]/g,'')
var season = getNewNameData.custom.M_SEASON || 1
newName = newName.replace(/- S\d+E/,'- S'+season+'E')
return newName+item.ext
}
function OnGetCustomFields(getFieldData){
getFieldData.fields.M_SEASON = 1
getFieldData.field_labels("M_SEASON") = "季度"
getFieldData.field_tips("M_SEASON") = "输入季度"
}
保存目录展示布局(文件夹格式)缩略图大小无法设置保存
目前Opus在保存每个文件夹的布局格式时,是不能保存缩略图大小的数值的。只能统一设置默认的大小,在
选项-查看模式-缩略图-缩略图大小
调整。论坛里之前就有人反馈过,开发者说这个特性已经在TODO List里了,但是挺久也没消息。
似乎目前只能通过自定义脚本实现。
建议多发现有意思的脚本哈,可以让大家都提高效率哈~,谢谢