如何用AppleScript将文件从下载文件夹移至Finder当前文件夹?
解决方案
1. 核心AppleScript代码
下面的脚本可以实现你要的功能,它会自动获取当前最前端Finder窗口的目标文件夹,并将下载文件夹内的所有文件移动过去:
tell application "Finder" -- 检查是否有打开的Finder窗口 if exists front window then set currentFolder to target of front window set downloadFolder to path to downloads folder as alias -- 移动下载文件夹内的所有文件到当前文件夹(覆盖重名文件) move every item of downloadFolder to currentFolder replacing true display notification "文件已移动完成" with title "Finder 操作" else display alert "错误" message "请先打开一个Finder窗口" as warning end if end tell
关键说明
target of front window of application "Finder":这行代码就是获取当前最前端Finder窗口打开的文件夹,解决你找不到引用当前文件夹的问题。path to downloads folder as alias:系统自带的获取用户下载文件夹路径的方法,无需硬编码路径。replacing true:如果目标文件夹有重名文件,会直接覆盖;如果不想覆盖,可以去掉这个参数,脚本遇到重名时会报错停止。
2. 测试脚本的方法
- 打开Mac自带的Script Editor(在应用程序/实用工具里)。
- 把上面的代码粘贴进去。
- 打开任意一个Finder窗口(比如桌面文件夹或者自定义文件夹),点击Script Editor顶部的「运行」按钮(▶️)。
- 检查下载文件夹里的文件是否已经移动到当前打开的Finder窗口对应的文件夹里,同时会弹出通知提示操作完成。
3. 绑定快捷键实现一键操作
要绑定快捷键,用系统自带的Automator就能实现:
- 打开Automator,新建一个「快速操作」(之前叫「服务」)。
- 在左侧动作列表里搜索「运行AppleScript」,拖到右侧工作区。
- 把工作区里默认的AppleScript代码删掉,替换成上面的脚本。
- 在顶部设置里,选择「服务收到」为「没有输入」,「在」为「Finder.app」。
- 点击左上角「存储」,命名为「移动下载文件到当前文件夹」。
- 打开系统设置 → 「键盘」→ 「快捷键」→ 「服务」,在「通用」里找到你刚才保存的快速操作,点击右侧的「添加快捷键」,设置你想要的组合键(比如
Cmd+Shift+M)。
现在你只要在Finder窗口处于前端时,按下设置的快捷键,就能自动把下载文件夹的文件移到当前打开的文件夹了。
内容的提问来源于stack exchange,提问作者Gabriel
相关产品推荐
相关产品推荐

