Как восстановить большое количество файлов из корзины?

1910
Todd J. York

Программное обеспечение для синхронизации файлов вышло из-под контроля и удалило большинство моих личных файлов. К счастью, они были найдены в корзине. Теперь проблема в том, что я не могу восстановить их, потому что слишком много (более 30 000) файлов для восстановления.

Когда я нажал на кнопку «восстановить все элементы», проводник на некоторое время завис, и после этого всплывающее окно с надписью «подготовка к перемещению файлов» обнаружилось и зависло «0 найденных элементов».

Я пытался восстановить пять страниц файла (примерно 100) за раз, и эта попытка увенчалась успехом. Но я не могу вручную восстановить столько.

Я навсегда удалил все элементы корзины, которые уже были там до аварии, поэтому каждый файл теперь уникален, и нет риска дублирования, прерывающего процесс, если я запускаю пакет или что-то еще. На самом деле я могу попытаться написать программу самостоятельно, может быть, есть ссылка на это в StackOverflow, но я не могу рисковать уничтожением файлов полностью, так что это не вариант, по крайней мере, пока.

Есть идеи? Заранее спасибо.

4

2 ответа на вопрос

2
Alison E.E.

Этот метод должен извлечь все файлы из корзины, но имейте в виду, что вам нужно будет вернуть их туда, где они принадлежат вам самим, если вы хотите, чтобы они находились в определенном каталоге.

1.) Откройте командную строку как администратор, запустите команду wmic useraccount get name,sid, скопируйте SID для своего пользователя, теперь в той же командной строке запустите cd \$Recycle.Bin\%SID%замену SID на SID, который вы только что скопировали в буфер обмена (но оставьте% с обеих сторон, это скрытая папка и требует, чтобы те были оставлены в названии).

2.) Теперь скопируйте все в этой папке в пустую папку по вашему выбору, xcopy /e .\* C:\path\to\your\empty\folder\но будьте осторожны, это скопирует все 30000 файлов через командную строку и, вероятно, займет некоторое время. После того, как это сделано, проверьте командную строку, чтобы убедиться, что не было выдано никаких ошибок, и проверьте папку, в которую вы скопировали все, и убедитесь, что все это есть. Теперь вы можете свободно опустошать мусорную корзину.

это просто заменяет одну папку на другую, чтобы разобраться, где выгода в этом? ths 7 лет назад 0
это бесполезно, если только я не могу получить словарь значений ключей текущих имен и фактических путей всех удаленных файлов через некоторый Windows API, а затем я могу восстановить их автоматически ... или я бы предпочел откатиться до последней резервное копирование... Todd J. York 7 лет назад 0
@ проблема заключалась не в сортировке папки, а в том, чтобы вытащить их из мусора. Поскольку ответ не помогает, извините, но я не знаю другого способа, которым вы могли бы получить их, когда проводник буквально утверждает, что ничего не существует. Исходя из того, как вы это сформулировали, я понял, что вы пытаетесь выполнить аварийное восстановление файлов, которые у вас не было другого способа сохранить. Если у вас есть резервная копия, содержащая их, и возможность откатить до нее, я, честно говоря, не вижу причины не просто делать это, а пытаться вручную спасти 30000 файлов, которые, по мнению проводника, не существуют. Alison E.E. 7 лет назад 0
@ AlisonE.E. Я не хочу потерять изменения, внесенные после резервного копирования, и по какой-то причине получить 30000 файлов с сервера резервного копирования также сложно (на это может потребоваться как минимум 2 дня из-за плохой связи, и я не могу отменить, потому что я ' мне не хватает места, и я должен сначала удалить их) ... Я собираюсь попробовать, я уже нашел некоторую ссылку на взаимодействие с Recycler через COM. Спасибо, в любом случае. Todd J. York 7 лет назад 0
0
Todd J. York

Я наконец-то узнал, как бороться с этой проблемой, используя C #.

Извините, что не предоставили скомпилированную версию, но этот код зависит от языка (также зависит от версии Windows) и предназначен для использования людьми, которые его понимают.

Вот код, размещенный на Gist .

Это работает очень медленно ... но хорошо, что это работает. Лучше чем ничего. У меня есть время подождать.

Ссылка: