【脚本】在Media Explorer中建立软连接

什么是软连接

软连接的作用是为一个文件/文件夹,在另一个路径下建立一个替身,浏览它完全等同于浏览它的本体。这个替身看上去跟本体一模一样不占用空间,删除掉也不会影响本体。本文主要讨论为文件夹建立软连接的用法。一个很容易想到的问题是,软连接和快捷方式有什么不同?他们作用确实很类似,但区别是快捷方式本质上是一个文件,软连接是一个文件夹(尽管是个假的),这点在Media Explorer中尤其重要

软连接在素材整理中的作用

利用软连接的特性,可以在不改变素材库原始路径和文件结构的前提下,把素材库或库的一部分归类到指定的路径下。

举个例子,我有很多个环境声的素材库,他们都跟别的素材库一起放在了一个总的路径下:H:\音效库。然后我希望在不改变他们原始路径的前提下,一次性列出所有的环境声音效库。我的做法是建一个文件夹:H:\音效库汇总\环境,然后在这个路径下,为每一个库建一个软连接,效果如图,看起来就跟把他们全部复制过来一样

第二个例子,有些素材库是多类别混在一起的,比如特效类的库,里面包含有Hit, Whoosh, Rise等几个大类。利用软连接,照样可以让他们各自归类到同类的库里去而不用把他们的原始文件分拆开

如何建立软连接

Windows和Linux下都需要通过命令行实现,也有一些软件如symlink creator

在Media Explorer中建立软连接

上述方法都需要在Reaper外部操作,用起来多少有点不便,因此使用脚本来实现(仅限Win系统)。

假设现在我打算把 SoundMorph - Bloody Nightmare 这个库里面的 10 - Ambience Mood Drones 归类到“环境”里面,只需要两步:

  1. 定位到 10 - Ambience Mood Drones 文件夹内部,运行

    Script: DSY_ME 复制当前路径.lua

  2. 定位到 H:\音效库汇总\环境 文件夹内部,运行

    Script: DSY_ME 在当前路径建立symlink.lua

运行后会弹出对话框,让你输入软连接的名字,你可以按自己需要修改,或者用原文件夹的名字。确定以后,即可看到新建好的软连接。

依赖包

SWSJS_ReaScriptAPI64 是两个必须的依赖库

SWS安装方式:从 这里 下载安装包

JS_ReaScriptAPI 安装方式:win用户下载以下文件,解压后放到安装路径下的userplugins文件夹里,重启reaper(其他系统用户请到他Github主页下载 Github)

reaper_js_ReaScriptAPI64.zip (388.2 KB)

脚本

DSY_ME 复制当前路径.lua (275 字节)
DSY_ME 在当前路径建立symlink.lua (708 字节)
这次的脚本由于是在Media Explorer里使用,所以请特别注意不要把脚本导入到平时用的 Main section里,而必须导入到 Media Explorer section(在Media Explorer界面下按?键进入)

Donation

毕竟用爱发电不易,如果我的脚本给你带来了便利,不妨buy me a coffee

如果有需要订制个人化的脚本,请添加以下QQ联系:86989558

5 Likes

这套脚本对整理音效非常实用,感谢Z佬~

倒腾了一下,没成功,估计是我操作不符合脚本设计。。

我看到local check, name=reaper.GetUserInputs(‘请输入目标文件夹名称’, 1, ‘名称, extrawidth=300’, path_source)

难道只能给 folder 做软链接?不能给 具体文件做软链接吗

肯定用文件夹做啊,一个个文件做不得累死。你看我举的两个例子,就是最适合用软连接的场景。要单个文件的话还不如用database

可是某些类型里特别好的,想整理出来做重点音效啊……(容我琢磨琢磨

那这种我就直接复制文件去指定路径了。这还要用软连接的话有点杀鸡用牛刀了

可是源文件5mb你就多5mb,10mb就多10mb【复制文件】。两三个也就罢了,多了就苦恼人。软链接不占太多资源啊,哪天我要研究一下rp里怎么把文件做成软链接。先谢一个

你要省这点空间的话建议还是用database比较现实,还好管理一些。你坚持要用软连接的话,也就是把我原来用的命令,换成 mklink 替身文件路径 原文件路径,再改改别的部分代码,也能改出一个“软连接文件”的版本,但真的没必要

感谢挪佬的分享!但我试用时发现脚本没有反应,求救

QQ录屏20220331171944 640i

依赖项应该是没没问题的吧

你不能直接按确定,对话框里的内容是把你复制的路径原样显示,是方便你取名字。但你原封不动直接确定的话,那就是一个非法的文件名,因为里面包含斜杠。所以请删掉无关的字符,留下一个合法的文件名后再按确定