Veröffentlicht 9. August 201114 j Hallo! Ich habe mir überlegt, ob es eine Möglichkeit gibt mit Perl ein Script zu schreiben, welches einen Ordner kopiert der ständig erneuert wird. (Hintergrund: Auf einem Server wird regelmäßig ein neuer Ordner mit einem Update für ein Programm bereitgestellt [in x:\update\ gibt es alle Updateversionen mit Datumsangabe\] -> Der Plan ist also sich den neusten Ordner herauszupicken und ihn auf meinen Pc zu kopieren) Hat irgendjemand eine Idee wie und ob dies funktionieren kann?
9. August 201114 j Ja, aber wie ist dein Ansatz? Was hast du bisher versucht? Und wo kommst du nicht weiter?
9. August 201114 j Das Problem was ich nicht lösen kann, ist das der Name des Ordners mir unbekannt ist.. es ist halt der neuste. (unbekannt, weil wie Updates nicht regelmäßig sind und der Ordner im Namen das Datum usw. hat
10. August 201114 j Let me google that for you Der erste Eintrag sollte dir gleich weiterhelfen denke Ich.
10. August 201114 j Durch Google habe ich das folgende Script gefunden: use File::DirList; my @list = File::DirList::list('.', 'M'); opendir (my $DH, $DIR) or die "Error opening $DIR: $!"; my @files = map { [ stat "$DIR/$_", $_ ] } grep(! /^\.\.?$/, readdir($DH)); closedir($DH); sub rev_by_date { $b->[9] <=> $a->[9] } my @sorted_files = sort rev_by_date @files; my @newest = @{$sorted_files[0]}; my $name = pop(@newest); Sieht ja eig ganz logisch aus, aber sagt mir nun leider nicht viel, da ich ein Anfänger auf dem Gebiet bin.. in wie fern müsste ich das verändern, damit es in meinem Fall funktioniert?
11. August 201114 j Hallo Auf der selben Seite hättest du auch das folgende Gefunden zusammen mit dem Hinweis here's an easier-to-read (but longer) version of the directory scan, which also ensures that only plain files are added to the listing: my @files; opendir(my $DH, $DIR) or die "Error opening $DIR: $!"; while (defined (my $file = readdir($DH))) { my $path = $DIR . '/' . $file; next unless (-f $path); # ignore non-files - automatically does . and .. push(@files, [ stat(_), $path ]); # re-uses the stat results from '-f' } closedir($DH); Ich denke, dass sollte gerade für Anfänger leichter zu verstehen sein, als das obige. Du müsstest natürlich noch etwas anpassen da du ja keine Datieen im sondern Verzeichnisse prüfen willst Also musste das -f wohl austauschen ^^ Hoffe das Hilft jetzt schon ein bisschen. Mit freundlciehn Grüßen Shogoki
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.