Récupérer un nom de fichier dans un dossier

Résolu/Fermé
bibi - 15 mai 2013 à 10:49
 bibi - 15 mai 2013 à 16:43
Bonjour,

Je souhaiterais récupéré le nom d'un fichier .txt dans un dossier
Exemple:
J'ai random.txt dans le dossier /opt qui contient une dizaine de fichier (mais un seul .txt) comment dois-je mis prendre ?


Merci de votre aide ;)

2 réponses

[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié par [Dal] le 15/05/2013 à 11:47
Salut bibi,

En Perl, tu peux faire comme cela :

#!/usr/bin/perl

use strict;
use warnings;

my $dir = '/opt';

opendir(DIR, $dir) or die $!;

while (my $file = readdir(DIR)) {
    if ( ($file =~ m/\.txt$/i) && (-f "$dir/$file") )
    { print "$file\n"; }
}

closedir(DIR);

Dal
1
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié par [Dal] le 15/05/2013 à 11:49
Explications :

$file =~ m/\.txt$/i

vérifie que le nom se termine par .txt

-f "$dir/$file"

s'assure qu'il s'agit bien d'un fichier, et pas d'un répertoire (un répertoire peut être nommé avec une extension .txt)


Dal
0
Merci beaucoup pour ta réponse, ça marche ;)
0