Thread Arbeiten mit DIR (6 answers)
Opened by dirk.m at 2018-08-07 20:51

Linuxer
 2018-08-13 15:07
#188793 #188793
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
Hi,

ich würde dieses String-Gebastel mit $body sein lassen und einfach mit den Dateinamen arbeiten.

- Verzeichnis öffnen
- Einträge einzeln auslesen
- Nur die csv-Dateien betrachten; wenn aktuelle Datei eine csv-Datei ist, prüfe, ob die entsprechende csv.xls-Datei existiert. Wenn nicht, speichere csv-Datei-Namen in einen Array.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
my $dir = 'C:/Users';
my @new_csv_files;


opendir my $dh, $dir or die "opendir($dir) failed: $!";
chdir $dir;
while ( my $filename = readdir $dh ) {
   if ( substr( $filename, -4, 4 ) eq '.csv' ) {
       if ( not -e "$filename.xls" ) {
            push @new_csv_files, $filename;
       }
   }
}

closedir $dh;

# und jetzt die Dateien in @new_csv_files verarbeiten.
# Beachte, dass hier nur die Dateinamen drin stehen, nicht der Verzeichnis-Pfad!


PS: Groß-/Kleinschreibung muss hier genau genommen werden; der Code arbeitet nur mit .csv, nicht mit .CSV .

edit: chdir $dir; ergänzt
Last edited: 2018-08-13 15:15:26 +0200 (CEST)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Arbeiten mit DIR