用AppleScript写个右键服务,模拟按 ⌘+⌫ 来批量恢复。
tell application "Finder"
activate
set file_count to count of (trash's items)
-- log file_count
repeat file_count times
recoverMyFile() of me
end repeat
end tell
on recoverMyFile()
tell application "System Events"
set frontmost of process "Finder" to true
tell application "Finder"
open trash
select the first item of window "Trash"
end tell
tell process "Finder"
key code 51 using command down
delay 1 -- Yes, it's stupid, but necessary :(
end tell
end tell
end recoverMyFile
简单来说,就是模拟手动把文件放回原处的过程:打开回收站-选中一个文件-按 ⌘+⌫ 键-重复以上步骤
如果卡住,在命令行将这个文件移走.
如果出现:
error "“Finder”遇到一个错误:不能获得“window \"Trash\"”。" number -1728 from window "Trash"
将 Trash 改为 废纸篓。