Я могу вернуть элементы по одному, но файлов слишком много, как я могу восстановить все файлы в корзине?
5 ответов
MacOS хранит мета-информацию об удаленных файлах в ~/.Trash/.DS_Store
, который также содержит записи исходных местоположений. Я написал Perl-скрипт, который сканирует ~/.Trash/.DS_Store
file и печатает команды для перемещения всех файлов обратно в их исходное местоположение. Вывод может быть передан непосредственно в оболочку.
Скрипт Perl: https://gist.github.com/cpq/3d58e144a3fc2e47c54a
Для запуска скачайте скрипт, запустите терминал и наберите perl restore_mac_trash.pl
Вот еще один AppleScript, подобный тому, который опубликовал user227282:
repeat
tell application "Finder"
close windows
if items of trash is {} then return
open trash
activate
end tell
tell application "System Events"
key code 125 -- down arrow
key code 51 using command down -- command-delete
end tell
end repeat
Вы можете запустить скрипт, вставив его в AppleScript Editor и нажав command-R. Мне не нужно было никаких задержек.
Если Finder показывает диалоговое окно ввода пароля при попытке вернуть какой-либо элемент, попробуйте добавить что-то вроде этого в конец блока tell application "System Events"
Tell:
delay 1
if exists window 1 of process "SecurityAgent" then
tell window 1 of process "SecurityAgent"
set value of text field 2 of scroll area 1 of group 1 to "pa55word"
click button 2 of group 2
end tell
end if
delay 1
Если это последнее, что вы сделали в Finder, то использование "Отменить" будет предпочтительным методом.
В GUI нет встроенного способа выполнить действие, которое вы обсуждаете.
Все это при условии, что вы не очистили корзину.
Выделите все файлы, которые хотите вернуть - Apple Key+A для « Выбрать все», затем щелкните правой кнопкой мыши элемент и выберите « Put Back
. Это вернет несколько предметов одновременно.
«Положите обратно» несколько предметов в корзину https://gist.github.com/faresd/5661253