Thread Files nach bestimmten Schema schreiben
(4 answers)
Opened by Gast at 2008-06-18 14:15
Guten Tag,
bin gerade dabei ein Script von mir zuerweitern und bin leider gerade an nen Problem gestoßen, wo ich nicht weiß woran es liegen könnte. Erstmal ne kleine Erklärung. Es gibt einen Ordner "search". In diesem Ordner befindet sich ein Unterordner Namens "1". Soweit sogut. Jetzt lese ich Dateien in ein Array ein. Die dateien sollen dann solange in den Ordner "1" geschrieben werden, bis im ordner "1" 5 Dateien gefunden werden. Danach soll ein weiterer Ordner (Ordner + 1 , also hier dann Ordner 2) erstellt werden.Nach der 1 wäre es halt die 2. Der wird dann wieder bis 5 gefüllt usw. usw. Hier mal das Script. habs erstmal OHNE "use strict" gemacht: 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 $komma = rand(9999999); $random = int($komma); if (!-d "search/1") { mkdir("search/1"); } $count = 0; foreach $file (@found) { $count++; } $foreach = 0; foreach $aa (@found) { $foreach++; $ordnercount = 0; foreach $ordner ("search/*") { $ordnercount++; } $dateicount = 0; foreach $datei ("search/$ordnercount/*.txt") { $dateicount++; } if ($dateicount =~ 5) { $ordnercount++; mkdir("search/$ordnercount"); open(DATA,'>',"search/$ordnercount/$random.txt")|| print "FEHLER $!"; print DATA "FILE"; close(DATA); } else { open(DATA,'>',"search/$ordnercount/$random.txt")|| print "FEHLER $!"; print DATA "FILE"; close(DATA); } } Die Variablen zeigen NACH der Funktion das an. Das Array besaß 10 Dateien: ordner : 1 (ordner in "search". Bei 10 einträgen sollte hier NORMAL ne 2 stehen ) dateien : 1 (Dateien die geschrieben wurden. Sollte auch NORMAL 10 sein ) foreach : 10 (Durchläufe der foreach schleife. 10 einträge = 10 foreach, STIMMT aber wieso dann NUR 1 Ordner & 1 Datei ?? MFG //MODEDIT: Ein Titel ohne gebrülltes HELP hätte gereicht; Titel geändert |