Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

Comment lister tous les fichiers d'un repertoire windows sous SAS

Envoyé par sousou 
Ce forum est en lecture seule. C'est une situation temporaire. Réessayez plus tard.
Comment lister tous les fichiers d'un repertoire windows sous SAS
26 mai 2009, 15:59
Bonjour à celui(e) qui lit ce message!!

je suis dans le caca je m'explique
je dois lire les fichiers contenus dans même repertoire windows
jusque la c'est pas tres compliqué
le truc c'est qu'il y a + de 500 fichiers....

comment faire? please help!!

de plus si je peux abuser :
si tu as deja un programme tout fait je suis preneuse (eur?) !!!

merci a toi!!
Voici qui devrait t'aider, si ce sont des fichiers au format texte par exemple, tu peux stocker leurs noms dans un fichier texte (listetxt.txt) que tu peux ensuite lire (data ... ; infile ... ) :

Stockage des noms des fichiers TXT présents dans le répertoire "C:\Repertoire\" dans le fichier listetxt.txt :

x dir /b C:\Repertoire\*.txt > "C:\listetxt.txt";

Bon courage
Xavier
Re: Comment lister tous les fichiers d'un repertoire windows sous SAS
27 mai 2009, 11:56
Sinon il y a les commandes dopen et dread :

/* Récupération des noms de fichier d'un répertoire */
filename myFN "c:\temp";

Data FicmyFN(keep = fichier );
length fichier $50;
retain did ;
did = dopen("myFN");
if did > 0 then do;
i = 1;
do while (dread(did,i) ne "" ) ;
fichier = dread(did,i);
i = i + 1 ;
end;
did = dclose(did);
end;
Run;
Re: Comment lister tous les fichiers d'un repertoire windows sous SAS
02 juin 2009, 12:34
Merci beaucoup pour vos réponses!!
Hello,

Xavier a une toute petite boulette dans son programme. Il manque la commande output dans sa boucle. Sans ça, la boucle tourne mais écrase les données.
Sinon il y a les commandes dopen et dread : 

/* Récupération des noms de fichier d'un répertoire */ 
filename myFN "c:\temp"; 

Data FicmyFN(keep = fichier ); 
length fichier $50; 
retain did ; 
did = dopen("myFN"); 
if did > 0 then do; 
i = 1; 
do while (dread(did,i) ne "" ) ; 
fichier = dread(did,i); 
output;
i = i + 1 ; 
end; 
did = dclose(did); 
end; 
Run;
Salut,

Sinon pas mal de logiciel permet lister un dossier plus facilement qu'avec une commande DOS ou autres dont le miens smiling smiley
Il fonctionne de Windows XP à Windows 8 sans problème !

LUD => [lister.un.dossier.free.fr]