У меня много файлов, точнее 2 ТБ, и мне нужно найти / искать файлы по создателю, дате создания и другим атрибутам файла.
Как вы думаете, как лучше всего выполнять такие поисковые запросы?
Приложение / Powershell? Фрагмент кода? Есть рекомендации?
Если вам комфортно с VBScript, нетрудно написать скрипт, который ищет файлы. Этот подход может занять много времени по сравнению с использованием встроенных инструментов, но он обеспечивает большую гибкость, поскольку вы можете настроить скрипт для использования любых критериев.
Как насчет чего-то вроде:
' **********************************************************************
' 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
Джон Ренни
файл считать важнее файла размер в таком случае.
У меня есть приложение, в котором 30 ГБ данных - это примерно 16 миллионов файлов. Когда мы перенесли его на новый NAS, трем машинам потребовалось 18 часов только для обработки операций с метаданными.
Несколько месяцев спустя мы переместили остальные 850 ГБ данных, и одна машина смогла скопировать между NAS со скоростью ~ 1 ГБ / мин, так как средний размер файла был примерно в сто раз больше.
Возможно, что-то вроде Google Desktop или аналогичного может иметь достаточно данных.
FindOnClick от 2BrightSparks в целом неплохой для того, что вам нужно, но, к сожалению, в списке нет Creator. Однако он довольно настраиваемый, возможно, стоит взглянуть. Доступна бесплатная 30-дневная пробная версия.
Если вы просто хотите идентифицировать файлы, воспользуйтесь встроенной службой индексирования. У него есть скриптовый интерфейс. Эта страница похоже, хорошее место для начала.
Попробуйте AgentRansack. В прошлом для меня это оказалось довольно быстро (но на ГБ, а не на ТБ)