' **********************************************************************
' FindAllFiles.vbs
' ================
' Demo file find script
' **********************************************************************
option explicit
const top_folder_name = "C:\temp"
dim fso, top_folder
set fso = CreateObject("Scripting.FileSystemObject")
wl "Searching for folders in " & top_folder_name
set top_folder = fso.GetFolder(top_folder_name)
FindAllFiles top_folder
' *** Finished
wscript.quit 0
' **********************************************************************
' FindAllFiles
' ------------
' **********************************************************************
sub FindAllFiles(faf_Folder)
dim cur_folder, cur_file
' *** Check all subfolders of the current folder
for each cur_folder in faf_Folder.SubFolders
FindAllFiles cur_folder
next
' *** Now get all files in this folder
for each cur_file in faf_Folder.Files
' Do your checks on name, date, attributes or whatever here
wl cur_file.Path & "\" & cur_file.Name
next
' *** All finished
end sub
' **********************************************************************
' wl
' --
' **********************************************************************
sub wl(s)
wscript.echo s
end sub
如果您熟悉 VBScript,那么编写一个搜索文件的脚本并不难。与使用内置工具相比,这种方法可能会比较耗时,但它具有很大的灵活性,因为您可以调整脚本以使用您想要的任何标准。
怎么样:
约翰·雷尼
来自 2BrightSparks 的 FindOnClick 通常非常适合您所追求的,但不幸的是似乎没有列出 Creator。然而,它非常可定制,可能值得一看。提供 30 天免费试用。
在这种情况下,文件计数比文件大小更重要。
我有一个应用程序,其中 30GB 的数据大约是 1600 万个文件。当我们将它迁移到一个新的 NAS 时,三台机器需要 18 个小时才能处理元数据操作。
几个月后,我们移动了另外 850GB 的数据,单台机器能够以大约 1GB/分钟的速度在 NAS 之间进行复制,因为平均文件大小大约是 100 倍。
也许像谷歌桌面或类似的东西可能只是有足够的数据。
如果您只想识别文件,请查看使用内置索引服务。它有一个可编写脚本的界面。这个页面看起来是个不错的起点。
试试 AgentRansack。过去证明它对我来说相当快(但在 GB,而不是 TB 上)