Как восстановить все файлы из корзины в Mac OS X?


11

Я могу вернуть элементы по одному, но файлов слишком много, как я могу восстановить все файлы в корзине?


1
Похоже: есть ли способ автоматически «положить» все обратно в корзину? - Кажется, это невозможно сделать легко.
slhck

1
Может быть, вы можете взломать скрипт Automator, который может это сделать.
billc.cn

Ответы:


3

В MacOS хранится мета-информация об удаленных файлах ~/.Trash/.DS_Store, которая также содержит записи об исходных местоположениях. Я написал Perl-скрипт, который сканирует ~/.Trash/.DS_Storeфайл и печатает команды, чтобы переместить все файлы обратно в их исходное местоположение. Вывод может быть передан непосредственно в оболочку.

Скрипт Perl: https://gist.github.com/cpq/3d58e144a3fc2e47c54a

Для запуска скачайте скрипт, запустите терминал и наберите perl restore_mac_trash.pl


Вау, это был единственный вариант, который работал для меня! Спасибо
Андре Соареш

2

Вот еще один 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"блока:

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

0

Если это последнее, что вы сделали в Finder, то использование «Отменить» будет предпочтительным методом.

В GUI нет встроенного способа выполнить обсуждаемое вами действие.

Все это при условии, что вы не очистили корзину.


0

«Положите обратно» несколько предметов в корзину https://gist.github.com/faresd/5661253


2
Это выглядит немного нахально. Не могли бы вы объяснить, что делает сценарий, для немного большего контекста? Это будет высоко ценится.
Slhck

2
Из того, что я вижу, скрипт пытается закрыть Finder, пока он не будет закрыт, затем он снова открывает его в корзину и помещает туда первый элемент. После этого он закрывает все окна и повторяется. В этом сценарии используются системные события, что является очень высоким уровнем выполнения чего-либо с помощью AppleScript (было бы лучше сделать что-то, не занимая интерфейс компьютера). Если бы я был ответчиком, я бы искал решение более низкого уровня, чтобы внести свой вклад.
Картер Папа

-1

Выберите все файлы, которые вы хотите вернуть - Apple Key+ Aдля выбора всех , затем щелкните правой кнопкой мыши на элементе и выберите Put Back. Это вернет несколько предметов одновременно.


5
Когда вы выбрали все, Put Backменю исчезнет.
xdazz

Я на OS X 10.7.5, и это показывает для меня. Попробуйте - выберите все файлы в корзине и щелкните правой кнопкой мыши, «Put Back» там.
AC

4
Это будет работать, если (и только если) все файлы находятся в одной папке. Попробуйте удалить файлы из разных источников - это не сработает. i.stack.imgur.com/q56wI.png
slhck

Верно - ты прав. Я должен был попробовать больше вариантов. Спасибо.
AC
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.