Hallo,
ich habe mir ein kleines Skript geschrieben, welches die ersten drei Buchstaben eines Dateinamens analysiert und anschließend in den passenden Ordner (der die drei gleichen Buchstaben trägt) einsortiert. Gibt es keinen passenden Ordner, wird die Datei in den Ordner lostandfound verschoben. Das funktioniert soweit auch recht gut, bis zu dem Punkt, an dem die Dateinamen Umlaute enthalten. In diesem Fall werden die entsprechenden Dateien trotz bestehendem Ordner mit entsprechendem Namen in lostandfound geschoben.
Die pdf-Dateien werden unter Windows7 mittels Adobe PDF-Printer erzeugt. Als Perl Version läuft: ActivePerl 5.18.2.1801
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use File::Copy;
my $working = "C:/Spektrenlager/PDFOutput/";
my $target = "C:/Spektrenlager/PDFOutput/sortiert/";
my $unknown = "lostandfound/";
chdir $working;
my @Dateien = glob("*.pdf");
foreach (@Dateien){
print $_;
if (-f $_) {
$_ =~ /(\w{3})\w*/;
if ((-e $target.$1) && (-d $target.$1) ){
print "Verschiebe $_ nach $_,$target.$1\n";
move ($_,$target.$1."/".$_);
}
else {
move ($_, $target.$unknown.$_)
}
}
}
Nachdem ich leider nicht so den übermäßigen Plan davon habe, hoffe ich hier ein wenig Hilfe zu finden... Eventuell lässt sich das Problem ja durch wenige Änderungen beheben. Hat es unter Umständen etwas mit den Zeichensätzen zu tun?
Last edited: 2014-09-15 14:35:59 +0200 (CEST)