如何用AppleScript批量移动指定PDF?脚本报错-1728求助
解决AppleScript移动扫描PDF文件的错误问题
问题原因分析
你遇到的错误 Can’t get folder "/Users/name/Downloads/" 是因为脚本直接将POSIX路径字符串传递给Finder,而Finder无法识别这种原始字符串作为有效的文件夹引用。此外,脚本未处理Scan文件夹不存在的情况,这也可能导致后续操作失败。
修正后的脚本
-- 获取Downloads文件夹的别名引用 set downloadFolder to path to downloads folder as alias -- 检查并创建Scan文件夹(如果不存在) tell application "Finder" set scanFolderName to "Scan" if not (exists folder scanFolderName of downloadFolder) then make new folder at downloadFolder with properties {name:scanFolderName} end if set scanFolder to folder scanFolderName of downloadFolder end tell -- 筛选Downloads中包含"-scan"的PDF文件 tell application "System Events" set targetFiles to every file of downloadFolder whose name contains "-scan" and name ends with ".pdf" end tell -- 将目标文件移动到Scan文件夹 tell application "Finder" move targetFiles to scanFolder end tell
关键改进点
- 使用别名引用替代POSIX路径字符串,让Finder能正确识别文件夹和文件对象
- 自动创建
Scan文件夹(如果不存在),避免因目标文件夹缺失导致的错误 - 直接在
System Events中筛选符合条件的文件,无需手动遍历文件名和重构路径,提升效率且避免文件名空格等潜在问题
内容的提问来源于stack exchange,提问作者clemjar
相关产品推荐
相关产品推荐

