Язык Wolfram Language

Системные функциональные возможности системы

Рекурсивный поиск в директориях

FileSystemMap обычно оценивает все файлы в заданной директории.

код на языке Wolfram Language целиком
In[1]:=
Click for copyable input
dir = FileNameJoin[{$InstallationDirectory, "SystemFiles", "SpellingDictionaries"}];
In[2]:=
Click for copyable input
Length[Keys[FileSystemMap[FileByteCount, dir]]]
Out[2]=

FileNameForms позволяет выбрать файлы с определённым шаблоном в FileSystemMap.

In[3]:=
Click for copyable input
FileSystemMap[FileByteCount, dir, FileNameForms -> "*en*"]
Out[3]=
In[4]:=
Click for copyable input
FileSystemMap[FileByteCount, dir, FileNameForms -> "*en*"]; Length[Keys[%]]
Out[4]=

Используйте FileSystemScan с FileNameForms для копирования всех страниц документации, имеющих в названии "Date", в новую директорию.

код на языке Wolfram Language целиком
In[5]:=
Click for copyable input
targetDir = CreateDirectory[FileNameJoin[{$TemporaryDirectory, "new"}]]; docsDir = FileNameJoin[{$InstallationDirectory, "Documentation", "English", "System", "ReferencePages", "Symbols"}];
In[6]:=
Click for copyable input
copy[file_] := CopyFile[file, FileNameJoin[{targetDir, FileNameTake[file, -1]}]]
In[7]:=
Click for copyable input
FileNames["*", targetDir]
Out[7]=
In[8]:=
Click for copyable input
FileSystemScan[copy, docsDir, Infinity, FileNameForms -> "*Date*.nb"]
In[9]:=
Click for copyable input
FileNames["*", targetDir]
Out[9]=

Данные файлы также могут быть удалены при помощи FileSystemScan.

In[10]:=
Click for copyable input
FileSystemScan[DeleteFile, targetDir]
In[11]:=
Click for copyable input
FileNames["*", targetDir]
Out[11]=

Родственные примеры

de en es fr ja ko pt-br zh