Может быть, вы можете взломать скрипт Automator, который может это сделать.
billc.cn
Ответы:
3
В MacOS хранится мета-информация об удаленных файлах ~/.Trash/.DS_Store, которая также содержит записи об исходных местоположениях. Я написал Perl-скрипт, который сканирует ~/.Trash/.DS_Storeфайл и печатает команды, чтобы переместить все файлы обратно в их исходное местоположение. Вывод может быть передан непосредственно в оболочку.
Вау, это был единственный вариант, который работал для меня! Спасибо
Андре Соареш
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
Это выглядит немного нахально. Не могли бы вы объяснить, что делает сценарий, для немного большего контекста? Это будет высоко ценится.
Slhck
2
Из того, что я вижу, скрипт пытается закрыть Finder, пока он не будет закрыт, затем он снова открывает его в корзину и помещает туда первый элемент. После этого он закрывает все окна и повторяется. В этом сценарии используются системные события, что является очень высоким уровнем выполнения чего-либо с помощью AppleScript (было бы лучше сделать что-то, не занимая интерфейс компьютера). Если бы я был ответчиком, я бы искал решение более низкого уровня, чтобы внести свой вклад.
Картер Папа
-1
Выберите все файлы, которые вы хотите вернуть - Apple Key+ Aдля выбора всех , затем щелкните правой кнопкой мыши на элементе и выберите Put Back. Это вернет несколько предметов одновременно.
Я на OS X 10.7.5, и это показывает для меня. Попробуйте - выберите все файлы в корзине и щелкните правой кнопкой мыши, «Put Back» там.
AC
4
Это будет работать, если (и только если) все файлы находятся в одной папке. Попробуйте удалить файлы из разных источников - это не сработает. i.stack.imgur.com/q56wI.png
slhck
Верно - ты прав. Я должен был попробовать больше вариантов. Спасибо.
Ответы:
В MacOS хранится мета-информация об удаленных файлах
~/.Trash/.DS_Store
, которая также содержит записи об исходных местоположениях. Я написал Perl-скрипт, который сканирует~/.Trash/.DS_Store
файл и печатает команды, чтобы переместить все файлы обратно в их исходное местоположение. Вывод может быть передан непосредственно в оболочку.Скрипт Perl: https://gist.github.com/cpq/3d58e144a3fc2e47c54a
Для запуска скачайте скрипт, запустите терминал и наберите
perl restore_mac_trash.pl
источник
Вот еще один AppleScript, подобный тому, который опубликовал user227282:
Вы можете запустить скрипт, вставив его в AppleScript Editor и нажав command-R. Мне не нужно было никаких задержек.
Если Finder показывает диалоговое окно ввода пароля, когда пытается вернуть какой-либо элемент, попробуйте добавить что-то вроде этого в конец
tell application "System Events"
блока:источник
Если это последнее, что вы сделали в Finder, то использование «Отменить» будет предпочтительным методом.
В GUI нет встроенного способа выполнить обсуждаемое вами действие.
Все это при условии, что вы не очистили корзину.
источник
«Положите обратно» несколько предметов в корзину https://gist.github.com/faresd/5661253
источник
Выберите все файлы, которые вы хотите вернуть - Apple Key+ Aдля выбора всех , затем щелкните правой кнопкой мыши на элементе и выберите
Put Back
. Это вернет несколько предметов одновременно.источник
Put Back
меню исчезнет.