http://www.perlmonks.org?node_id=847891


in reply to Re^2: Perl Rename
in thread Perl Rename

Works for me if I invoke like this:

rnm "s/Blah Blah - \d{2} - //" "Blah Blah - 01 - Peter.txt" "Blah Blah + - 02 - Lois.txt"

Of course, that requires I supply the names of the files to be renamed because cmd.exe doesn't expand wildcards for you. If you want that to happen, you'll have to modify the script a little:

#!/usr/bin/perl -w $op = shift or die "Usage: rename expr [files]\n"; chomp( @ARGV ); @ARGV = map glob, @ARGV; for ( @ARGV ) { $was = $_; eval $op; die $@ if $@; rename ( $was, $_ ) unless $was eq $_; }

Then rnm "s/Blah Blah - \d{2} - //" *.txt works.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.