Leser: 1
|< 1 2 3 >| | 21 Einträge, 3 Seiten |
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
# C:\Perl\bin\perl.exe use strict; use warnings; # Hier muss der Ordner mit den kleinen Einzeldateien eingetragen werden # oder das PerlScript in dem Ordner ausgeführt werden, in dem die # Textdateien liegen. our $quelle = ("C\:\\Dokumente\ und\ Einstellungen\\stephan\\Desktop\\output"); our $ziel = ("C\:\\Dokumente\ und\ Einstellungen\\stephan\\Desktop\\output_verarbeitet"); our @txtliste; my $DateiZumSchreiben = "verarbeitet.txt"; (opendir(DIRHANDLE1,$quelle)) || (die "Das Quellverzeichnis konnte nicht erfolgreich geoeffnet werden: $!"); (opendir(DIRHANDLE2,$ziel)) || (die "Das Zielverzeichnis konnte nicht geoeffnet werden: $!"); @txtliste=readdir(DIRHANDLE1); foreach my $dateien(@txtliste) { if (-d $dateien) {next;} unless ($dateien=~ m/\.pl$/i) { rename($dateien,$ziel."\\".$dateien) || die "Dateien konnten nicht kopiert werden: $!\n"; }#unless } #foreach closedir(DIRHANDLE1); @txtliste=readdir(DIRHANDLE2); unless(open(FH1,"> $ziel"."\\"."$DateiZumSchreiben")) {die "Datei '$DateiZumSchreiben' konnte nicht geoeffnet werden: $!";} foreach my $dateien(@txtliste) { print $dateien; unless(open(FH2,$dateien)) {die "Datei '$dateien' konnte nicht geoeffnet werden 2: $!";} foreach my $line(<FH2>) { #für jede Zeile in den kleinen txts chomp($line); #Abknüppern des \n print(FH1 "$line\n"); #Ausgabe in $DateiZumScheiben close(FH2); } #foreach } #foreach close(FH1); ################################################################################################# Fehlermeldung: C:\Dokumente und Einstellungen\stephan\Desktop\output>verarbeitung.pl Datei '.' konnte nicht geoeffnet werden 2: Permission denied at C:\Dokumente und Einstellungen\stephan\Desktop\output\verarbeitung.pl line 32. ################################################################################################ kurze Erklärung: Programm verschiet alle .txt in einem Ordner in einen anderen Ordner und soll sie dort in einer Datei zusammenfassen.
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
# C:\Perl\bin\perl.exe use strict; use warnings; # besser "my" und ' verwenden... my $quelle = 'C:\Dokumente und Einstellungen\stephan\Desktop\output'; my $ziel = 'C:\Dokumente und Einstellungen\stephan\Desktop\output_verarbeitet'; my $DateiZumSchreiben = 'verarbeitet.txt'; my @txtliste; my @files; # besser lexikalische dirhandles verwenden... if( opendir my $dirh1,$quelle ){ while( my $file = readdir $dirh1 ){ my $path = $quelle . '\\' . $file; next if -d $path; unless( $file =~ /\.pl$/i ){ my $path = $ziel . '\\' . $file; push @files, $path; rename $path, $path; } } } else{ die "Das Quellverzeichnis konnte nicht erfolgreich geoeffnet werden: $!"; } # besser 3-Arg-open verwenden if( open my $out, '>', $ziel . '\\' . $DateiZumSchreiben ){ for( @files ){ if( open my $in, '<', $_ ){ while( my $line = <$in> ){ chomp $line; print $out $line,"\n"; } } } } else{ die "Konnte Datei '$DateiZumSchreiben' nicht oeffnen: $!"; }
1 2 3
@txtliste= grep{ $_ =~ /\.txt/ and -f $_ } # test ob es .txt-Datei ist map{ $ziel . '\\' . $_ } # Pfad zusammensetzen readdir(DIRHANDLE2); # auslesen
renee+2007-11-13 13:17:29--Code (perl): (dl )@txtliste= grep{ $_ =~ /\.txt/ and -f $_ } # test ob es .txt-Datei ist
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 59 60
# C:\Perl\bin\perl.exe use strict; use warnings; # Hier muss der Ordner mit den kleinen Einzeldateien eingetragen werden # oder das PerlScript in dem Ordner ausgeführt werden, in dem die # Textdateien liegen. my $quelle = 'C:\Dokumente und Einstellungen\stephan\Desktop\output'; my $ziel = 'C:\Dokumente und Einstellungen\stephan\Desktop\output_verarbeitet'; my @txtliste; my $DateiZumSchreiben = "verarbeitet.txt"; our $files; our $fh1; our $fh2; (opendir(my $dhandle1,$quelle)) || (die "Das Quellverzeichnis konnte nicht erfolgreich geoeffnet werden: $!"); (opendir(my $dhandle2,$ziel)) || (die "Das Zielverzeichnis konnte nicht geoeffnet werden: $!"); @txtliste=readdir($dhandle1); foreach my $dateien(@txtliste) { if (-d $dateien) {next;} unless ($dateien=~ m/\.pl$/i) { rename($dateien,$ziel."\\".$dateien) || die "Dateien konnten nicht kopiert werden: $!\n"; }#unless } #foreach closedir($dhandle1); #@txtliste=readdir($dhandle2); @txtliste= grep{ $_ =~ /\.txt/ and -f $_ } # test ob es .txt-Datei ist map{ $ziel . '\\' . $_ } # Pfad zusammensetzen readdir($dhandle2); #auslesen if( open my $out, '>', $ziel . '\\' . $DateiZumSchreiben ){ for(my @files ){ if( open my $in, '<', $_ ){ while( my $line = <$in> ){ chomp $line; print $out $line,"\n"; } } } } else{ die "Konnte Datei '$DateiZumSchreiben' nicht oeffnen: $!"; } #unless(open($fh1,">> $ziel"."\\"."$DateiZumSchreiben")) {die "Datei '$DateiZumSchreiben' konnte nicht geoeffnet werden: $!";} #foreach my $dateien(@txtliste) { # print $dateien; # unless(open($fh2,$dateien)) {die "Datei '$dateien' konnte nicht geoeffnet werden 2: $!";} # foreach my $line(<$fh2>) { #für jede Zeile in den kleinen txts # chomp($line); #Abknüppern des \n # print($fh1 "$line\n"); #Ausgabe in $DateiZumScheiben # close($fh2); # } #foreach #} #foreach #close($fh1);
|< 1 2 3 >| | 21 Einträge, 3 Seiten |