Function Repository Resource:

DirectoryNames

Source Notebook

List directories in specified directories

Contributed by: Phileas Dazeley-Gaist

ResourceFunction["DirectoryNames"][]

lists all subdirectories in the current working directory.

ResourceFunction["DirectoryNames"][form]

lists all directories in the current working directory whose names match the string pattern form.

ResourceFunction["DirectoryNames"][{form1,form2,}]

lists all directories whose names match any of the formi.

ResourceFunction["DirectoryNames"][All,dir]

lists all directories in the directory dir.

ResourceFunction["DirectoryNames"][forms,{dir1,dir2,}]

lists directories with names matching forms in any of the directories diri.

ResourceFunction["DirectoryNames"][forms,dirs,n]

includes directories that are in subdirectories up to n levels down.

Details

ResourceFunction["DirectoryNames"] takes the same arguments as FileNames.
DirectoryNames is equivalent to Select[FileNames[forms,dirs,n],DirectoryQ] where forms, dirs, and n default to All, Directory[], and 1, respectively.

Examples

Basic Examples (3) 

List the directory names in the $InstallationDirectory:

In[1]:=
SetDirectory[$InstallationDirectory];
In[2]:=
ResourceFunction["DirectoryNames"][]
Out[2]=

Reset the working directory:


Count the files in the whole installation directory:

In[3]:=
ResourceFunction["DirectoryNames"][All, $InstallationDirectory, Infinity] // Length
Out[3]=

Find directories that match a string pattern:

In[4]:=
ResourceFunction[
 "DirectoryNames"][___ ~~ "Doc" ~~ __ ~~ "ExampleData", File[$InstallationDirectory], 4]
Out[4]=

Scope (1) 

List directories in a directory specified by a File object:

In[5]:=
ResourceFunction["DirectoryNames"][All, File[$InstallationDirectory]]
Out[5]=

Neat Examples (1) 

Plot an 5-hop file system graph starting from a specified directory:

In[6]:=
GraphPlot@
 NestGraph[
  ResourceFunction["DirectoryNames"][
    All, #] &, $InstallationDirectory, 5]
Out[6]=

Publisher

Phileas Dazeley-Gaist

Requirements

Wolfram Language 14.0 (January 2024) or above

Version History

  • 1.0.0 – 06 December 2024

Related Resources

License Information