web-dev-qa-db-ja.com

ごみ箱から大量のファイルを復元するにはどうすればよいですか?

ファイル同期ソフトウェアが制御不能になり、私の個人ファイルのほとんどが削除されました。幸いなことに、それらはごみ箱で見つかりました。問題は、復元するファイルが多すぎる(30,000以上)ため、復元できないことです。

「すべてのアイテムを復元」ボタンをクリックすると、エクスプローラーがしばらくフリーズし、その後、「ファイルを移動する準備をしています」というポップアップウィンドウが表示され、「0アイテムが見つかりました」でハングしました。

一度に5ページ(約100)のファイルを復元しようとしましたが、その試みは成功しました。しかし、手動でその数を復元することは不可能です。

事故前にすでにそこにあったすべてのごみ箱アイテムを完全に削除したので、すべてのファイルが一意になり、バッチなどを実行しても重複してプロセスが中断されるリスクはありません。実際、私は自分でプログラムを書こうと試みることができます。StackOverflowにこれへの参照があるかもしれませんが、ファイルを完全に破壊するリスクを冒すことはできないので、少なくとも今のところ、それはオプションではありません。

何か案は?前もって感謝します。

5
Todd J. York

この方法では、すべてのファイルをごみ箱から取り出す必要がありますが、特定のディレクトリにファイルを配置する必要がある場合は、ファイルを自分の所属する場所に戻す必要があることに注意してください。

1.)管理者としてコマンドプロンプトを開き、コマンドwmic useraccount get name,sidを実行し、ユーザーのSIDをコピーします。同じコマンドでプロンプトを実行しますcd \$Recycle.Bin\%SID%置換[〜#〜] sid [〜 #〜]クリップボードにコピーしたばかりのSIDを使用します(ただし、%はどちらかの側に残します。これは非表示のフォルダーであり、名前に残す必要があります)。

2.)次に、そのフォルダー内のすべてをxcopy /e .\* C:\path\to\your\empty\folder\を使用して選択した空のフォルダーにコピーしますが、警告が表示されます。これにより、コマンドプロンプトを使用して30000ファイルすべてがコピーされ、しばらく時間がかかる可能性があります。完了したら、コマンドプロンプトをチェックしてエラーがスローされていないことを確認し、すべてをコピーしたフォルダーをチェックして、すべてがそこにあることを確認します。これで、ごみ箱を安全に空にすることができます。

1
Alison E.E.

私はついにC#を使用してこの問題に対処する方法を見つけました。

コンパイルされたバージョンを提供していないことをお詫びしますが、このコードは言語固有(windows-version固有でもあります)であり、それを理解している人だけが使用することを目的としています。

コードは次のとおりです Gistでホストされています

それは本当に遅いです...しかし、良いことはそれが機能することです。何もないよりマシ。待つ時間があります。

参照:

0
Todd J. York