#!/usr/bin/perl START: my @files = `find $ARGV[0] -true`; foreach(@files) { #Am Ende einer jeden Zeile bef. sich ein Zeichen, dass nicht benötigt wird chop ($_); my $fnold = $_; #Das könnte man vielleicht besser schreiben, aber ich weiß nicht wie. #Die dateien können nicht ohne Sonderzeichen - Escaping umbenannt werden. #Linke Seite vom Befehl mv datei_old datein_new $fnold =~ s/\s/\\ /g; $fnold =~ s/,/\\,/g; $fnold =~ s/'/\\'/g; $fnold =~ s/`/\\`/g; $fnold =~ s/\(/\\(/g; $fnold =~ s/\)/\\)/g; $fnold =~ s/\?/\\?/g; $fnold =~ s/\!/\\!/g; $fnold =~ s/\&/\\&/g; #Rechte Seite von mv. #Die ungewünschten Zeichen werden entfernt. $_ =~ s/\s/_/g; $_ =~ s/[^a-zA-Z0-9_\/\.\s-]//g; if ( $fnold ne $_) { print "$fnold -> $_\n"; system ("mv $fnold $_"); #Da auch Verzeichnisse umben. werden, gibts Probleme -> Neu einlesen. goto START; } }