Thread Files verschieben und kopieren
(5 answers)
Opened by epsodus at 2014-03-28 14:04
Ja, ist 'ne große Bitte, aber mir war mal wieder langweilig:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 #!/usr/bin/perl use warnings; use strict; use File::Copy; my $indir = "C:/Test/Import"; my @crit = (["TTS3", "02502185"], ["TTS3", "CONFIRM"], ["TTS3", "02502106"], ["TTS3", "02502100"]); my @dirs = ("GGR", "Confirm", "Nack", "Ack"); sub createDir { my $dirname =shift; if (! -e $dirname) { # mkdir($dirname); print "$dirname\n"; } } chdir($indir); my @files = glob("*.CSV"); my $dirname; for my $i (@files) { for my $u (0 .. $#crit) { if ($i =~ /\Q$crit[$u][0]\E/ && $i =~ /\Q$crit[$u][1]\E/) { if ($dirs[$u] eq "Ack" || $dirs[$u] eq "GGR") { my $d2 = "$indir/AckGGR"; createDir($d2); my $t2 = "$d2/$i"; # copy($i, $t2); print "$i -> $t2\n"; } $dirname = "$indir/$dirs[$u]"; print "\n"; createDir($dirname); my $target = "$dirname/$i"; # move($i, $target); print "$i -> $target\n"; } } if ($i =~ /.{5}\.TTS3/) { $dirname = "$indir/Nic"; print "\n"; createDir($dirname); my $target = "$dirname/$i"; # move($i, $target); print "$i -> $target\n"; } } Ist das richtig, daß auch die RT001.-Datei auf "TTS3" und "02502185" matcht, also zugleich auch eine GGR-Datei ist? |