home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / e / e032 / 3.ddi / FILES / EXAMPLES.PAK / FILEBROW.M < prev    next >
Encoding:
Text File  |  1992-07-29  |  749 b   |  23 lines

  1.  
  2. (* Summary: This package provides examples of utilities for
  3. working with external files. The function browse[n]
  4. generates a table of the files and subdirectories to depth n
  5. starting with the current directory. *)
  6.  
  7.  
  8. filedepth[name_String] := Length[StringPosition[name,"/"]]
  9.  
  10. direxpand[deep_] := With[{toodeep=deep},
  11.         (dir_String/;(FileType[dir]===Directory
  12.                 && (#>0 && #<toodeep)&[filedepth[dir]])
  13.             :>{dir/.nameshrink,FileNames["*",dir]})]
  14.  
  15. nameshrink = (name_String /; filedepth[name] > 0  :>
  16.     StringTake[name,{Last[Flatten[StringPosition[name,"/"]]]+1,-1}])
  17.  
  18. browse[depth_] := TableForm[{Directory[]//.direxpand[filedepth[Directory[]]
  19.                              +depth]
  20.                     //.nameshrink},
  21.         TableAlignments->Table[Top,{2depth+3}]]
  22.  
  23.