DATA Step, Macro, Functions and more

how to extract file names from multiple folders in a drive

Reply
New User
Posts: 1

how to extract file names from multiple folders in a drive

Hi everyone.
I have a folder that contain mutiple text documents, placed in subfolders.
Is there a way of importing the file names of these files as a string into a dataset?
I have found some examples round the internet and in SAS community but they dont seem to be working.

Files are in .txt,.dat,.tx,.csv and pgp format.

 

Thanks,

Super User
Posts: 23,293

Re: how to extract file names from multiple folders in a drive

There's lots of examples across the web as you've indicated.

 

Here's one that fully documented and that you can change as desired. You'll need to actually remove code because you don't care about the extension, but it should get you started. 

 

This assumes you're on Windows and not in a lockdown system.

 

http://support.sas.com/documentation/cdl/en/mcrolref/69726/HTML/default/viewer.htm#n0js70lrkxo6uvn1f...

PROC Star
Posts: 2,316

Re: how to extract file names from multiple folders in a drive

Here is another option.

You may have to alter th


filename DIR pipe "dir ""c:\temp\*.sas"" /s/q " ;
data FILES;  
  infile DIR pad;
  input X $256.;    
  length PATH FILENAME $256;
  retain PATH ;
  if index(X,'Directory of') then PATH=substr(X,14);
  else if char(X,3)='/' and not index(X,'<DIR>') then do;
    TOPDIR  =catx('\',scan(PATH,1,'\'),scan(PATH,2,'\'),scan(PATH,3,'\'));  
    FILENAME=substr(X,65);
    DATE    =input(scan(X,1,' '),?? ddmmyy10.);
    SIZE    =input(scan(X,4,' '),?? comma20.);
    OWNER   =substr(X,42,23);
    output;
  end;
  format DATE date9. SIZE comma20.0;
  *drop X;
run;      

e way the line is parsed as Windows changes the file description line depending on its coonfiguration.

Ask a Question
Discussion stats
  • 2 replies
  • 146 views
  • 0 likes
  • 3 in conversation