Рекурсивный поиск в директориях
FileSystemMap обычно оценивает все файлы в заданной директории.
код на языке Wolfram Language целиком
In[2]:=
![Click for copyable input](assets.ru/recursively-search-through-directories/In_52.png)
Length[Keys[FileSystemMap[FileByteCount, dir]]]
Out[2]=
![](assets.ru/recursively-search-through-directories/O_43.png)
FileNameForms позволяет выбрать файлы с определённым шаблоном в FileSystemMap.
In[3]:=
![Click for copyable input](assets.ru/recursively-search-through-directories/In_53.png)
FileSystemMap[FileByteCount, dir, FileNameForms -> "*en*"]
Out[3]=
![](assets.ru/recursively-search-through-directories/O_44.png)
In[4]:=
![Click for copyable input](assets.ru/recursively-search-through-directories/In_54.png)
FileSystemMap[FileByteCount, dir, FileNameForms -> "*en*"];
Length[Keys[%]]
Out[4]=
![](assets.ru/recursively-search-through-directories/O_45.png)
Используйте FileSystemScan с FileNameForms для копирования всех страниц документации, имеющих в названии "Date", в новую директорию.
код на языке Wolfram Language целиком
In[7]:=
![Click for copyable input](assets.ru/recursively-search-through-directories/In_57.png)
FileNames["*", targetDir]
Out[7]=
![](assets.ru/recursively-search-through-directories/O_46.png)
In[8]:=
![Click for copyable input](assets.ru/recursively-search-through-directories/In_58.png)
FileSystemScan[copy, docsDir, Infinity, FileNameForms -> "*Date*.nb"]
In[9]:=
![Click for copyable input](assets.ru/recursively-search-through-directories/In_59.png)
FileNames["*", targetDir]
Out[9]=
![](assets.ru/recursively-search-through-directories/O_47.png)
Данные файлы также могут быть удалены при помощи FileSystemScan.
In[10]:=
![Click for copyable input](assets.ru/recursively-search-through-directories/In_60.png)
FileSystemScan[DeleteFile, targetDir]
In[11]:=
![Click for copyable input](assets.ru/recursively-search-through-directories/In_61.png)
FileNames["*", targetDir]
Out[11]=
![](assets.ru/recursively-search-through-directories/O_48.png)