我们这里的系统最近硬盘坏了。我可以使用恢复软件从中恢复大部分文件,但大多数情况下无法检索文件夹名称。相反,它将大部分内容(大约 200,000 个文件!)都转储到一个文件夹中。这对 Windows 文件系统来说就是致命的。
有人能推荐一个好的(最好是免费的)程序来自动将这些文件分类到新文件夹中吗?
在这种情况下,文件至少已经按类型分组。我原本想按名称或创建/修改日期然后按名称排序。
答案1
取决于你想如何对它们进行排序。它们都是不同的类型吗?命令行对此非常方便。
例子:
C:\>mkdir JPEGS writtendocs 电子表格 C:\>cd 大文件夹 C:\huge_folder\>移动 *.jpg ../JPEGS C:\huge_folder\>移动 *.doc ../writtendocs C:\huge_folder\>移动 *.xls ../电子表格
有一个免费的图形工具可以执行类似的操作,名字很合适文件排序,它可以帮助您按文件名、年龄和大小进行排序:
答案2
答案3
这是一个完全未经测试的 :) 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");
}
真的,这完全没有经过测试,如果你因为运行这个而失去了一切,不要抱怨我没有警告你。:)