The perl program "no space" has always worked for me.  For renaming camera 
images and other numbered files gqview's batch rename and krename are both 
very powerful and easy to use.  Here's my copy of nospace.pl, you might want 
to look for a newer version.

#!/usr/bin/perl -w
# nospace /this/dir /that/dir /those/too 
# author tomw (Tom Willett) of pigsty.net
 
 use File::Find; 
 use strict; 
 die "usage: nospace dir[s]\n" unless @ARGV; 
 
 my %ext; 
 
 find(\&remspaces, @ARGV); 
 
 sub remspaces {
 return if ($_ eq '.'); 
 return if ($_ eq '..'); 
 (my $new = $_) =~ tr/a-zA-Z0-9_.-/_/c; 
 my $duplicate = ($new ne $_ and -e $new);
 my $try = $new;
 
 $ext{"$File::Find::dir/$try"}++ if $duplicate;
 
 while (my $count = $ext{"$File::Find::dir/$new"}++) {
 (my $with_num = $new) =~ s/(?=\.|$)/_$count/;
 $new = $with_num, last if not -e $with_num;
 }
 
 $ext{"$File::Find::dir/$try"}-- if $duplicate;
 
 rename $_ => $new
 or warn "can't rename $_ to $new: $!";
 } 

On Thursday 16 November 2006 09:30, Joe Fruchey wrote:
>... So I wanted to convert the names to all lowercase,
> change the spaces to underscores, and strip out the special
> characters.
>
> I was gonna post a message to the list about it, but I decided to
> search first, and here's what I found:
>
> http://filerenameutils.sourceforge.net/
> ... 

Reply via email to