MacBook 的硬盘容量之昂贵,让无数人吐槽,也让囊中羞涩的我们在无奈之下选择了小容量的版本。然而,小容量却更是无奈的开始:安装个大型游戏,硬盘空间告急;下载个电影,硬盘空间告急……。我们只好拿出移动硬盘,隔两天就向其中转移一些文件。这种经常性的「体力活」真不是什么让人愉悦的事情。
这种时候,Keyboard Maestro 这款自动化神器就该派上用场了。
首先,贴出任务(Macro)过程图

其原理为:
(1) 使用 Mounted Volume Trigger 触发器监控移动硬盘的插入动作。
(2) 使用 For Each Path in Folder 动作遍历源文件夹。
(3) 使用 Move or Rename a File 动作对源文件夹中的每个文件(夹)执行移动动作。
注意:移动文件时,悄无声息,不会出现进度窗口。所以,在移动动作前后,加上提醒动作(Notification)。移动前,提醒开始;移动后,提醒完成。如果正在向移动硬盘中转移文件,那么尝试弹出硬盘会出现「无法弹出」错误的弹窗。你也可以查看 macOS 的通知中心,查看是否存在「Moving Complete」的完成提醒。
为了方便,将该任务导出后的 AutoMove.kmmacros 文件内容列于下方。
你需要做的是:
- 复制下面的代码保存为 TXT 文本文件
- 重命名为 AutoMove.kmmacros 文件
- 双击导入 Keyboard Maestro 中
- 根据你的实际情况,修改上图中的 1、2、3 等三处内容
- 点击右上角的大叉 ╳ 以启用该任务
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>Activate</key>
<string>Normal</string>
<key>CreationDate</key>
<real>509815547.960127</real>
<key>Macros</key>
<array>
<dict>
<key>Actions</key>
<array>
<dict>
<key>Actions</key>
<array>
<dict>
<key>MacroActionType</key>
<string>Notification</string>
<key>SoundName</key>
<string></string>
<key>Subtitle</key>
<string></string>
<key>Text</key>
<string>Moving Begin: %Variable%AutoMove_FilePath%</string>
<key>Title</key>
<string>%ExecutingMacro%</string>
</dict>
<dict>
<key>Destination</key>
<string>/Volumes/移动硬盘分区名称/目标文件夹</string>
<key>MacroActionType</key>
<string>File</string>
<key>Operation</key>
<string>Move</string>
<key>Source</key>
<string>%Variable%AutoMove_FilePath%</string>
</dict>
<dict>
<key>MacroActionType</key>
<string>Notification</string>
<key>SoundName</key>
<string></string>
<key>Subtitle</key>
<string></string>
<key>Text</key>
<string>Moving Complete: %Variable%AutoMove_FilePath%</string>
<key>Title</key>
<string>%ExecutingMacro%</string>
</dict>
</array>
<key>Collections</key>
<dict>
<key>CollectionList</key>
<array>
<dict>
<key>CollectionType</key>
<string>Files</string>
<key>Path</key>
<string>源文件夹</string>
<key>Reverse</key>
<true/>
<key>SortOrder</key>
<string>Alphabetical</string>
</dict>
</array>
</dict>
<key>MacroActionType</key>
<string>For</string>
<key>TimeOutAbortsMacro</key>
<true/>
<key>Variable</key>
<string>AutoMove_FilePath</string>
</dict>
</array>
<key>CreationDate</key>
<real>513531793.15557897</real>
<key>ModificationDate</key>
<real>540910961.17178202</real>
<key>Name</key>
<string>AutoMove</string>
<key>Triggers</key>
<array>
<dict>
<key>MacroTriggerType</key>
<string>Volume</string>
<key>Mounted</key>
<true/>
<key>Name</key>
<string>移动硬盘分区名称</string>
<key>TargetType</key>
<string>Named</string>
</dict>
</array>
<key>UID</key>
<string>3C9844FD-4072-445C-BE8D-6BF4D1B31A0F</string>
</dict>
</array>
<key>Name</key>
<string>-- Temp --</string>
<key>ToggleMacroUID</key>
<string>C75D69EF-051D-443D-B6AC-02B462E63FCC</string>
<key>UID</key>
<string>F9C946DC-CDFB-4F58-898F-6134852A374A</string>
</dict>
</array>
</plist>
附上 Keyboard Maestro 的入门文章:

