<===

ProNotes

2025-12-03 10:02:41
rename youtube labels cur dir

 $ cat ren.pl 
#!/usr/bin/env perl
use strict;
use warnings;
use File::Basename;

my @files = glob('*.mp3 *.m4a');

my %seen;

for my $old (@files) {
    my ($name, $dir, $ext) = fileparse($old, qr/\.[^.]*/);

    my $new = $name;

    # чистка
    $new =~ s/\s*\([^)]*\)\s*/ /g;
    $new =~ s/\s*\[[^]]*\]\s*/ /g;
    $new =~ s/ {2,}/ /g;
    $new =~ s/^ //;
    $new =~ s/ $//;

    next if $new eq $name;

    my $target = $new . $ext;

    my $base = $new;
    my $i    = 1;
    while (-e $target || $seen{$target}) {
        $target = $base . "_" . $i . $ext;
        $i++;
    }
    $seen{$target} = 1;

    print "$old -> $target\n";
    rename $old, $target or warn "cannot rename $old to $target: $!\n";
}
← Previous Next →
Back to list