Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have many files, 2TB be exact, and must find/search for files by creator and creation date and others file attributes.

What in your opinion would be the best way to do these kinds of searches?

Application/Powershell? Code fragment? Any recommendations?

share|improve this question
    
the file attributes that you mention are baked into NTFS and I believe are easy to get. Do you need the more complex file attributes, like "Album" and "Focus Length" that are kept in the metadata? –  Knox May 21 '09 at 22:12

5 Answers 5

If you're comfortable with VBScript it's not hard to write a script that searches for files. This approach can be time consuming compared to using built in tools, but it allows great flexibility because you can tweak the script to use whatever criteria you want.

How about something like:

' **********************************************************************
' 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

John Rennie

share|improve this answer

FindOnClick, from 2BrightSparks, is generally quite good for what you're after, but unfortunately doesn't appear to list Creator. It is however pretty customisable, might be worth a look. A free 30 day trial is available.

share|improve this answer

File count is more important then file size in this case.

I have an application where 30GB of data was roughly 16 million files. When we migrated it to a new NAS it took three machines 18 hours just to handle the metadata ops.

We moved the other 850GB of data a few months later and a single machine was able to copy between the NAS' at ~1GB/min as the average file size was roughly a hundred times larger.

Perhaps something like Google Desktop or similar might just have enough data.

share|improve this answer

If you just want to identify the files, look at using the built in indexing service. It has a scriptable interface. This page looks like a good place to start.

share|improve this answer

Give a try to AgentRansack. It has proven quite fast for me in the past (but on GB, not TB)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.