USB HDDから複数のファイルを抽出する

USB HDDから複数のファイルを抽出する

200 万を超えるファイル (すべての可能な形式で、複数のサブフォルダーにネストされている) が含まれる USB HDD から、特定のファイル (拡張子が少数のもの) を抽出する必要があります。

この非常に時間のかかるタスクを処理するための優れたユーティリティを誰か提案してもらえませんか?

理想的なシナリオ:パラメータ (本当に必要な拡張子) を設定し、ツールを実行すると、翌朝、USB HDD に、自分のファイルを含むいくつかのフォルダー (「doc & docx」、「xls & xlsx」、「pdf」、「zip」などの名前) だけが表示されます。他には何もありませんでした。空のフォルダーはなく、指定した拡張子を持つファイル以外のファイルはありませんでした。ファイル名の競合は、番号 (またはカスタム テキスト) を追加することで解決できます。エラー ログはプラスになる可能性があります (2 つ目の HDD にまったく同じコピーがあり、そこから誤って削除したファイル/フォルダーを最終的に「取り出す」ことができるため)。重複は後で処理しますが、この「素晴らしいツール」が確実にそれを実行できるのであれば、もちろん気にしません ;)

創造的な提案をいただければ幸いです

答え1

ご提案ありがとうございます。しかし、バッチ スクリプトを使用してこの問題を解決することにしました。スクリプトをまとめると、必要な作業が完了するようになりました。バッチ ファイルのコマンドが非常に強力で便利であるという事実に、改めて驚かされました。

メモ帳で作成したシンプルなスクリプトは、何もダウンロード/インストールすることなく、また明らかに多くのファイルを含むフォルダーを処理できない Windows エクスプローラーを使用せずに、作業を実行するようになりました。

時には最も簡単な解決策が最善の解決策となることもあります。

_________________________________________ 編集:

編集前の部分で述べたように、スクリプトは非常に単純で、これは非常にカスタマイズされた操作であるため (スクリプトではなく、ほんのわずかな時間で私が望んでいたものを実現した手順)、他のユーザーがこれを「そのまま」操作できるとは考えにくいですが、外付け HDD に何年もかけて蓄積された膨大なファイル グループから (ほんの) 数千の必要なファイルをすばやく移動するために私が行った操作が他の誰かに役立つことを期待して、大まかな方向性を示すメモを作成しました。この Q&A に偶然出会った人は、自分のニーズに合わせて私の方法を調整する必要があります。

HDD から抽出する必要のあるデータは非常に機密性が高く (私にとっては貴重なもの)、意図的に各手順に従い、拡張機能の各グループごとに個別のスクリプトを作成しました (移動されているものを垣間見るために意図的に @echo off も実行しませんでした)... 当然、同じ手順を (半) 無人で実行することもできます。

どうぞ:

1) ファイルを収集する外部 HDD パーティションに文字「Y」が割り当てられていることを確認します (この特定のスクリプトではその文字が使用されていますが、もちろん他の使用可能な文字も使用できます)。

2) 「Y」で、すべてのフォルダー (ファイルが収集されるフォルダー) を「- All」という名前の 1 つのフォルダーに配置します (この特定のスクリプトでは、他の任意の名前を使用できます)。

3) Suction という素晴らしいフリーウェア (Google で「suction dr nathan」と検索) を使用して、「- All」フォルダを Suction し、すべてのファイルを第 1 レベルに移動し、同じ名前を持つすべてのファイルの名前を変更します。(注: 処理を高速化するために、意図的に「重複の削除」オプションを使用しませんでした)

4) 「ルート (Y ドライブ) にフォルダーを作成する.bat」を実行して、(拡張子で分類された) ファイルをホストするために必要なすべてのフォルダーを作成します... 次のようになります (必要に応じてカスタマイズします)。

mkdir "Y:\ALL Archive files"
mkdir "Y:\All Excel files"
mkdir "Y:\All PowerPoint files"
mkdir "Y:\All Word files"

5) 必要に応じて、他のバッチ スクリプト* を 1 つずつ実行して、必要なファイルを指定された宛先に移動します... 次のようになります (必要に応じてカスタマイズします)。

move /-y "Y:\- All\*.zip" "Y:\ALL Archive files"
move /-y "Y:\- All\*.rar" "Y:\ALL Archive files"

move /-y "Y:\- All\*.xls" "Y:\All Excel files" 
move /-y "Y:\- All\*.xlsx" "Y:\All Excel files" 

move /-y "Y:\- All\*.pps" "Y:\All PowerPoint files" 
move /-y "Y:\- All\*.ppsx" "Y:\All PowerPoint files" 
move /-y "Y:\- All\*.ppt" "Y:\All PowerPoint files" 
move /-y "Y:\- All\*.pptx" "Y:\All PowerPoint files" 

move /-y "Y:\- All\*.doc" "Y:\All Word files"
move /-y "Y:\- All\*.docx" "Y:\All Word files"
move /-y "Y:\- All\*.rtf" "Y:\All Word files"

6) お気に入りの検索ツール (私は Everything を使用しました) を使用して、指定した拡張子のファイルが「- All」フォルダーに残っていないかどうかを確認します (なぜ 2 つまたは 3 つのファイルが残っているのかわかりません... 不可解です! とにかく、それらを手動で移動しました)

7) 重複ファイルを削除するには、お気に入りの重複ファイル検索ツールを実行してください。

8) 途中で止まってしまった不要なファイルを削除します (保存する必要のないファイルが多数見つかったため、この段階でゴミ箱に捨てました)

9) 「Y」のルートにあるホスティングフォルダの名前を変更/統合する(該当する場合)

10) 安全になったら「- All」フォルダを削除します(残っているものが本当にゴミ箱に捨てられるものであることを 3 回確認しました)

*(必要に応じて、他の拡張機能用の新しいスクリプトと、「Y」のルートにある必要なホスティング フォルダーもコンパイルします)

関連情報