UPD2: Переписал скрипт, теперь он выложен здесь:
http://svintuss.ru/как-восстановить-файлы-из-корзины/ Если вы случайно переместили много-много файлов в корзину на Маке, то вернуть их на место может оказаться нетривиальной задачей.
UPD: Исправил ошибку, когда время AppleEvent истекло.
Для каждого файла в отдельности есть команда "Put back":
Но если файлов много, и некоторые из них не имеют записи о том, куда их восстанавливать, эта команда окажется недоступной. Чтобы обойти это ограничение, я написал небольшой скрипт, который берет каждый элемент в корзине и пробует его восстановить. В результате там остаются только те файлы, о начальном расположении которых система не знает.
tell application "Finder"
set trash_folder to path to trash folder as string
set numberoffiles to every paragraph of (do shell script "ls ~/.Trash/")
set fileCount to count numberoffiles
repeat with i from 1 to fileCount
set thefile to (trash_folder & text item i of numberoffiles) as alias
reveal thefile
activate
tell application "System Events"
tell process "Finder"
key down command
delay 0.2 -- adjust delay as needed
key code 51
key up command
end tell
end tell
close every window
end repeat
end tell
Скрипт можно скачать по этой
ссылке.
P. S. Я решил записывать решения проблем, с которыми мне приходится иногда сталкиваться. Вдруг кому-то будет полезно.