Моя жена увидела папку «все документы» в Finder и решила перенести все это в корзину.
Теперь у нас в корзине более 9 000 файлов, и я не смог найти способ вернуть все обратно одним щелчком мыши.
По какой-то причине это позволит мне «вернуть» только один файл за раз.
Есть ли способ автоматизировать это?
snow-leopard
trash
novicePrgrmr
источник
источник
Ответы:
Если «Отложить» отключено для выбора из нескольких элементов, это означает, что (по крайней мере) один из выбранных элементов не имеет своей исходной информации о местоположении, сохраненной в файле .DS_Store каталога корзины.
Хотя это и не идеально, попробуйте выбрать несколько подмножеств файлов, чтобы найти группы, которые вы можете массово « отложить», прежде чем прибегать к ручной подаче оставшихся файлов.
источник
Попробуйте запустить такой скрипт в редакторе AppleScript:
Если Finder показывает диалоговое окно ввода пароля при попытке вернуть какой-либо элемент, попробуйте добавить что-то вроде этого в конец
tell application "System Events"
блока:источник
AppleScript, который «положил обратно все элементы в корзину» работал для меня:
Откройте «Редактор AppleScript» и скопируйте / вставьте строки ниже, затем запустите сценарий столько раз, сколько необходимо.
источник
key code 51 using key command down
. (Это адаптировано из другого ответа. Для файлов, восстановленных на моем рабочем столе, требовался мой системный пароль, который запутался в этом сценарии. Я отменил их и вручную восстановил несколько из них.Этот код AppleScript работает для меня, используя последнюю версию macOS Mojave.
Этот код будет циклически проходить по каждому элементу в корзине, возвращая каждый элемент в исходное местоположение.
Если какая-либо из исходных папок файлов в Корзине больше не существует,
repeat until trashCount is 0
команда выйдет из цикла. Любые оставшиеся файлы в Корзине будут только файлами, которые не могут быть возвращены по этой причине.ОБНОВИТЬ
Поскольку во время повторного цикла процесса возврата файлов из корзины можно выбрать элемент на рабочем столе, выбранный элемент рабочего стола может быть захвачен в процессе и перемещен в корзину. Чтобы избежать этого сценария, я добавил код, который блокирует в настоящий момент разблокированные элементы рабочего стола, а также разблокирует их в конце скрипта.
Поскольку все элементы рабочего стола теперь заблокированы ... Во время процесса возврата файлов из корзины, если по какой-то причине вы случайно выбрали файл или папку на рабочем столе, а код пытается обработать этот выбранный элемент рабочего стола ... создайте диалоговое окно, сообщающее, что элемент заблокирован, и спросите, хотите ли вы продолжить отправку его в корзину. Блок системных событий в конце сценария будет обрабатывать любые из тех диалоговых окон, которые могли быть сгенерированы.
источник
Вы должны быть в состоянии выделить каждый файл или, по крайней мере, сделать это в последовательных пакетах, скопировать их, а затем снова вставить их, я считаю. Я только что попробовал, и если вы дважды щелкнете по корзине, затем щелкните правой кнопкой мыши файлы, которые вы хотите восстановить, есть опция «положить обратно», которая работает только файл за файлом, как я сказал, я бы выделил, затем нажмите Cc (команда c), чтобы скопировать затем Cv (команда v), чтобы вставить их обратно.
источник
Это сработало для меня:
Если вам нужно вернуть большую папку или большое количество отдельных файлов, используйте эту технику. Если вам нужны только 1 или 2 файла, просто используйте функцию «положить обратно».
источник
До появления Snow Leopard OS X изначально не имела возможности восстановить файлы в их исходные местоположения, из которых они были удалены (как это может быть сделано изначально в среде Windows с помощью параметра «Восстановить» в контекстном меню для корзины). Я случайно сделал то же самое, что и твоя жена, в один момент, когда было удалено около 10 000 с лишним файлов.
После изучения всех моих вариантов я выполнил восстановление системы через Time Machine. На сегодняшний день это был наиболее целесообразный способ доставить указанные файлы в соответствующие места.
источник
Перетащите все файлы из корзины на вкладку «Все мои файлы» в Finder. Это займет некоторое время, если у вас много файлов. Мы протестировали на 10000+ файлов. Finder восстановит все файлы в исходное местоположение.
источник
Основываясь на близком решении, которое @thierry уже дал здесь от Джакомо Балли , мы создали это решение, чтобы помочь нескольким из вас, поскольку проблема все еще остается. Когда вы удаляете файл в MacOS , его исходное местоположение сохраняется в
.DsStore
скрытые файлы на случай, если вы хотите восстановить его В последних версиях macOS есть возможность помещать материал в корзину, откуда он взялся, разбить на части, и это намного быстрее, чем перетаскивание. Итак, как вы знаете, если вы нажмете на значок корзины в Dock, вы увидите элементы, которые у вас есть, ну, в общем, мусор. Щелкните правой кнопкой мыши или щелкните, удерживая нажатой клавишу «Control», на любом файле (или, удерживая нажатой клавишу «Command», выберите несколько элементов, затем щелкните, удерживая нажатой клавишу «Control»), и вы увидите опцию «Возврат». Единственная проблема заключается в том, что это позволяет нам делать это только для одного элемента за раз.Решение
Начните с клонирования репозитория на ваш локальный компьютер, чтобы вы могли начать использовать наше решение;
git clone git@github.com: opprDev / trash-back.git
cd trash-back
Запустите AppleScript на этом компьютере с помощью команды osascript;
osascript scripts / trash-back.scpt
Выводы
Запуск AppleScript значительно увеличивает то, что вы можете сделать удаленно из командной строки, и предоставляет множество интересных трюков, которые трудно сделать иначе. В то время как вы можете запускать целые сценарии в командной строке, этот способ запуска заключается только в запуске, вы также можете войти на удаленный компьютер (используя ssh) и запустить AppleScript на этом компьютере с помощью
osascript
команды. Командаosascript
также может запускать любой другой язык Open Scripting Architecture с использованием модификатора -l.источник