<% '******************************************************* '* ASP 101 Sample Code - http://www.asp101.com/ * '* * '* This code is made available as a service to our * '* visitors and is provided strictly for the * '* purpose of illustration. * '* * '* http://www.asp101.com/samples/license.asp * '* * '* Please direct all inquiries to webmaster@asp101.com * '******************************************************* %> <% Dim strPath ' Path of directory to search Dim objFSO ' FileSystemObject variable Dim objFolder ' Folder variable Dim objItem ' Variable used to loop through the 'contents of the folder Dim strQuery ' Search string ' You could just as easily read this from some sort of input, ' but I don't need you guys roaming around our server so ' I've hard coded it to a directory I set up to illustrate ' the sample. ' NOTE: As currently implemented, this needs to end with the / strPath = "filtered/" ' Retrieve the search string. If empty it will return all files. strQuery = Request.QueryString("query") ' Show our search form and a few links to some sample searches %>
" method="get"> Find files whose names contain:

Some sample queries: ?query=ary">ary, ?query=ber">ber, ?query=0">0, ?query=1">1, ">show all files.

<% ' Create our FSO and get a handle on our folder Set objFSO = Server.CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(Server.MapPath(strPath)) ' Show a little description line and the title row of our table %>

Contents of <%= strPath %> that match your query:

<% ' Now come the part where we find the files whose names match the string ' passed in part. It's relatively straightforward. We simply loop through ' the objFolder.Files collection and check each file's name to see if it ' matches. Note that I'm not going to look for SubFolders that match our ' search string. You can easily include them if you like. Just use ' objFolder.SubFolders. The syntax is the same as it is for files. For Each objItem In objFolder.Files ' I'm using a case insensitive search. If you want case sensitivity ' then change vbTextCompare to vbBinaryCompare If InStr(1, objItem.Name, strQuery, vbTextCompare) <> 0 Then %> <% End If Next 'objItem ' All done! Kill off our object variables. Set objItem = Nothing Set objFolder = Nothing Set objFSO = Nothing %>
File Name: File Size: Date Created:
<%= objItem.Name %> <%= objItem.Size %> <%= objItem.DateCreated %>