Як відновити всі файли зі сміття в 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, як той, який опублікував користувач227282:

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 і натиснувши команду-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, то кращим методом було б використання "Скасувати".

У графічному інтерфейсі немає вбудованого способу для виконання дії, яку ви обговорюєте.

Це все за умови, що ви не випорожнили кошик.


0

"Повернути" декілька елементів у кошик https://gist.github.com/faresd/5661253


2
Це виглядає трохи хакітно. Чи можете ви пояснити, що робить сценарій, для трохи більше контексту? Це було б дуже вдячно.
slhck

2
З того, що я бачу, сценарій намагається закрити Finder, поки він не буде закритий, після чого він знову відкриє його у кошик і повертає туди перший елемент. Після цього він закриває всі вікна і повторюється. Цей сценарій використовує системні події, що є дуже високим рівнем того, щоб щось робити з AppleScript (краще було б зробити щось, не переймаючи комп'ютерний інтерфейс). Якби я відповідав, я би шукав рішення нижчого рівня, щоб зробити свій внесок.
Картер Папе

-1

Виберіть усі файли, які ви хочете повернути - Apple Key+ Aдля Select All , а потім клацніть правою кнопкою миші на об'єкті та виберіть Put Back. Це дозволить повернути кілька предметів одночасно.


5
Коли ви вибрали все, Put Backменю зникне.
xdazz

Я перебуваю на OS X 10.7.5, і це показує для мене. Спробуйте - виділіть усі файли в кошику і клацніть правою кнопкою миші, "Повернути назад" є.
AC

4
Він буде працювати, якщо (і лише якщо) всі файли з точно такої ж папки. Спробуйте видалити файли з різних джерел - це не працюватиме. i.stack.imgur.com/q56wI.png
slhck

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