1つの大きなフォルダーからいくつかの小さなフォルダーにファイルをグループ化するプログラム?


0

ここには最近、ハードドライブに障害が発生したシステムがあります。回復ソフトウェアを使用してほとんどのファイルを取得できましたが、ほとんどの場合フォルダー名を取得できませんでした。代わりに、ほとんどすべて(約200,000ファイル!)を1つのフォルダーにダンプしました。これは、Windowsファイルシステムの死です。

これらのファイルを新しいフォルダーに自動的にソートするための優れた(できれば無料の)プログラムを推奨することはできますか?

この場合、ファイルは少なくともタイプごとにすでにグループ化されています。名前、または作成/変更日と名前のいずれかでソートすることを考えていました。

回答:


3

どのように並べ替えるかによって異なります。それらはすべて異なるタイプですか?コマンドラインはそのために非常に便利です。

例:

C:\> mkdir JPEGS writtendocsスプレッドシート
C:\> cd huge_folder
C:\ huge_folder \> move * .jpg ../JPEGS
C:\ huge_folder \> move * .doc ../writtendocs
C:\ huge_folder \> move * .xls ../spreadsheets

File Sortという名前の適切な名前の同様の操作を実行するための無料のグラフィカルツールがあり、ファイル名、経過時間、およびサイズで並べ替えることができます。

代替テキスト


1

ベルヴェデーレから米Lifehacker編集者が便利かもしれません。

代替テキスト

Belvedereの使いやすいインターフェイスを使用して、ファイルの名前、拡張子、サイズ、作成日などに基づいてファイルを移動、コピー、削除、名前変更、または開く高度なルールを作成します。


0

完全にテストされていない:)ファイル名の最初の文字に基づいてソートするperlスクリプト

use File::Copy;

# base directory of where we want to copy files
my $destdir = "destdir";

opendir("dir_to_sort", DH);
my @files = readdir(DH);
closedir(DH);
foreach my $file (@files)
{
   # skip . and ..
   next if $file =~ /^\.$/;
   next if $file =~ /^\.\.$/;

   # This is where you'd figure out where you want to put the file
   # in this example we're just looking at the first char.
   # so a file named "HelloWorld" would be copied to $destdir/H/HelloWorld
   # pull the first char
   $file =~ /^(.).*/;
   my $target_dir = $1;

   mkdir("$destdir/$target_dir") unless -d "$destdir/$target_dir"

   # you could use move instead of copy here
   copy($file, "$destdir/$target_dir/$file");
}

本当に、これはまったくテストされていません。これを実行してすべてを失っても、警告しなかったと文句を言わないでください。:)


1
perlスクリプト-Windowsマシン用?私はぐふ...それは何よりも悪くないインストールPerlのない仮定、しかし
ジョエルCoehoorn

lolファイルの並べ替えはうまく機能します。
-Kelbizzle
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.