Wolfram 语言

系统级功能

递归式搜索所有目录

一般情况下,FileSystemMap 会在给定目录的所有文件上运行.

显示完整的 Wolfram 语言输入
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]=

同时使用 FileSystemScanFileNameForms,将所有文件名中含有 "Date" 的文件复制到新的目录.

显示完整的 Wolfram 语言输入
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 ru