AHRlug - Linux user group Ahrtal
AHRlug-Forum  


<< Anfang < Vorherige 1 2 Nächste > Ende >>
Re:Scheiß Dateinamen von Windowsnutzern - 05/10/2007 15:44 Hallo,

vielleicht hilft Dir dieser Thread bei ubuntuusers weiter:

http://forum.ubuntuusers.de/topic/37316/?highlight=dateinamen+sonderzeichen

Gruß,

NoSea
I love deadlines. I like the whooshing sound they make as they fly by ...
  | | Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
Re:Scheiß Dateinamen von Windowsnutzern - 05/10/2007 17:44 hallo ralf

hab mir das script kopiert und werde die Tage testen

Wolfgang
  | | Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
Re:Scheiß Dateinamen von Windowsnutzern - 14/10/2007 19:27 NoSea schrieb:
Hallo,

vielleicht hilft Dir dieser Thread bei ubuntuusers weiter:

http://forum.ubuntuusers.de/topic/37316/?highlight=dateinamen+sonderzeichen



Hallo Ralf

hab das script getestet und angepasst, funktioniert super.

aufruf des scriptes mit: perl umbenennen.pl /pfad/
eigentlich sollte es dann alles unterhalb des pfades ändern.
tuts nicht. wie kriege ich (du) es hin das alles unterhalb des /pfades geändert wird.
Außerdem fand ich noch eine Ergänzung um alle ".." zu entfernen falls es einen Pfad gibt /bla/bal/../../blub/do/../.
Siehe im script die auskommentierte while schleife.
Ja die zwei Sachen müßten noch laufen dann wärs perfekt.
Poste jetzt mal das script.

#!/usr/bin/perl -w

use strict;
use File::Find;
use File::Copy;

find &wanted, @ARGV;

#for ( glob('*') ) {
# &wanted if -f;
#}


sub wanted {
return if /^..?$/;

my $orig = $_;
my $ch;

$ch++ if tr/A-Z/a-z/;
$ch++ if s/ /_/g;
$ch++ if s/.././g;
$ch++ if s/,_/_/g;
$ch++ if s/_,/_/g;
$ch++ if s/._/_/g;
$ch++ if s/_./_/g;
$ch++ if s/__/_/g;
$ch++ if s/ _/_/g;
$ch++ if s/_ /_/g;
$ch++ if s/-_/_/g;
$ch++ if s/_-/_/g;
$ch++ if s/-./_/g;
# $ch++ if s/_ogg/.ogg/g;
# $ch++ if s//[^/]*/..//g;
$ch++ if s/ä/ae/ig;
$ch++ if s/ö/ou/ig;
$ch++ if s/ü/ue/ig;
#$ch++ if s/.(?!....?z)//g;
#$ch++ if s/,/u/g;


#sub deleteDoubleDots($)
# {
# while($_[0] =~ m/../)
# {
# $_[0] =~ s//[^/]*/..//;
# }
# }


if ( $ch ) {
if ( -e ) {
print "Skipped: $orig => $_ : Zieldatei existiert bereits.n";
} else {
print "move: $orig => $_n";
move $orig, $_ or warn "Error: move: $orig => $_ : $!n";
}
}
}


Schöne Woche noch

Wolfgang

Post geändert von: glockenklang, am: 14/10/2007 19:28
  | | Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
<< Anfang < Vorherige 1 2 Nächste > Ende >>
© AHRlug - Linux user group Ahrtal 2002 - 2012 | | powered by: linux | apache | php | mysql | joomla