Perl lida bem com isso, algo assim deve ser suficiente:
use warnings;
use strict;
use File::Copy;
my $oldname;
opendir(my $d, ".") or die $!;
while(readdir $d) {
if (-d $_ and $_ ne "." and $_ ne "..")
{
$oldname = $_;
$_ =~ s/\./ /g;
$_ =~ s/(\d{4})/($1)/g;
move($oldname,$_);
}
}
closedir $d;
Apenas testado brevemente, sinta-se à vontade para jogá-lo / modificá-lo! Não é perfeito por qualquer meio. Hackeado juntos rapidamente;)
Observação: Em seu estado atual, ele deve ser executado dentro do diretório com os nomes das pastas desconfiguradas.
C:\Users\John\Desktop\folders>dir Volume in drive C has no label. Volume Serial Number is 8888-1666 Directory of C:\Users\John\Desktop\folders 29/01/2011 07:14 PM . 29/01/2011 07:14 PM .. 29/01/2011 07:07 PM some.folder.name.2008 29/01/2011 07:07 PM some.folder.name.2009 29/01/2011 07:16 PM 282 ren.pl 1 File(s) 282 bytes 4 Dir(s) 53,349,425,152 bytes free C:\Users\John\Desktop\folders>ren.pl C:\Users\John\Desktop\folders>dir Volume in drive C has no label. Volume Serial Number is 8888-1666 Directory of C:\Users\John\Desktop\folders 29/01/2011 07:16 PM . 29/01/2011 07:16 PM .. 29/01/2011 07:07 PM some folder name (2008) 29/01/2011 07:07 PM some folder name (2009) 29/01/2011 07:16 PM 282 ren.pl 1 File(s) 282 bytes 4 Dir(s) 53,349,425,152 bytes free