Recursively Search through Directories
FileSystemMap will normally evaluate on all files in a given directory.
show complete Wolfram Language input
In[2]:=
![Click for copyable input](assets.en/recursively-search-through-directories/In_52.png)
Length[Keys[FileSystemMap[FileByteCount, dir]]]
Out[2]=
![](assets.en/recursively-search-through-directories/O_43.png)
FileNameForms allows you to select files with a specific pattern in FileSystemMap.
In[3]:=
![Click for copyable input](assets.en/recursively-search-through-directories/In_53.png)
FileSystemMap[FileByteCount, dir, FileNameForms -> "*en*"]
Out[3]=
![](assets.en/recursively-search-through-directories/O_44.png)
In[4]:=
![Click for copyable input](assets.en/recursively-search-through-directories/In_54.png)
FileSystemMap[FileByteCount, dir, FileNameForms -> "*en*"];
Length[Keys[%]]
Out[4]=
![](assets.en/recursively-search-through-directories/O_45.png)
Use FileSystemScan with FileNameForms to copy all documentation pages with "Date" in the title to a new directory.
show complete Wolfram Language input
In[7]:=
![Click for copyable input](assets.en/recursively-search-through-directories/In_57.png)
FileNames["*", targetDir]
Out[7]=
![](assets.en/recursively-search-through-directories/O_46.png)
In[8]:=
![Click for copyable input](assets.en/recursively-search-through-directories/In_58.png)
FileSystemScan[copy, docsDir, Infinity, FileNameForms -> "*Date*.nb"]
In[9]:=
![Click for copyable input](assets.en/recursively-search-through-directories/In_59.png)
FileNames["*", targetDir]
Out[9]=
![](assets.en/recursively-search-through-directories/O_47.png)
These files can also be removed using FileSystemScan.
In[10]:=
![Click for copyable input](assets.en/recursively-search-through-directories/In_60.png)
FileSystemScan[DeleteFile, targetDir]
In[11]:=
![Click for copyable input](assets.en/recursively-search-through-directories/In_61.png)
FileNames["*", targetDir]
Out[11]=
![](assets.en/recursively-search-through-directories/O_48.png)