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
5884
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
29 juin 2022
1 001
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
5884
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
29 juin 2022
1 001
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
pafdantafass
Messages postés
2004
Date d'inscription
mardi 3 février 2009
Statut
Contributeur
Dernière intervention
12 novembre 2015
434
15 mai 2013 à 11:14
Bonjour,
Windows: dir *.txt
Linux: ls -l *.txt
0
[Dal]
Messages postés
5884
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
29 juin 2022
1 001
15 mai 2013 à 11:35
Sa question est tagguée "Perl". Il veut donc savoir comment faire cela en Perl.


Dal
0
pafdantafass
Messages postés
2004
Date d'inscription
mardi 3 février 2009
Statut
Contributeur
Dernière intervention
12 novembre 2015
434
15 mai 2013 à 11:38
oups! je sors...
0