Lo script di oggi effettua una ricerca testuale, su tutti i file contenuti in una directory.
La personalizzazione è molto semplice e richiede poche e semplici modifiche.
Accetta un primo paramentro che rappresenta l'esatta parola da ricercare ed un secondo che specifica il percorso reale (fisico) da cui partire.
<% Function Search(what, scope) Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set Dir = FSO.GetFolder(scope) For Each objFile in Dir.Files ' apro il file in lettura Set objThisFile = FSO.OpenTextFile(objFile.Path, 1, False) Content = LCase(objThisFile.ReadAll()) objThisFile.Close Set objThisFile = Nothing ' controllo che abbia la parola cercata If Instr(Content, what)<>0 then strResults = strResults & "<li>" & objFile.Name End If Next ' con la ricorsione esploriamo anche le sottocartelle For Each SubDir in Dir.SubFolders strResults = strResults & Search(what, SubDir) Next ' liberiamo risorse Set SubDir = Nothing Set FSO = Nothing ' restituiamo i risultati Search = CStr( strResults ) End Function ' cerco "libri" in "/testi/" parola = "libri" Percorso = Server.MapPath("/testi/") Response.write "<p>Risultati:<ol>" Response.write (Search(parola, Percorso)) Response.write "</ol></P>" %>
Viene effettuata la ricerca su tutti i file contenuti, a prescindere dalla loro estensione, nella directory specificata (scope) e con la ricorsione estende la ricerca stessa ad eventuali sottodirectory presenti, in maniera infinita (o meglio, fino a quando lo script non va in timeout per il troppo carico).
E' ideale per ricerche all'interno di file di solo testo, ma è da sconsigliare se è presente codice ASP al loro interno, perchè potrebbe trasformarsi in un'arma a doppio taglio per la sicurezza del vostro sito.
Per maggiori informazioni sul FSO (FileSystemObject), sui metodi e sulle proprietà supportate, utilizzate ampiamente in questo script, si veda
https://www.aspitalia.com/articoli/files.asp
oppure la categoria "Files" di unoscript@lgiorno.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Effettuare le transazioni con Banca Sella
- Sfruttare lo streaming di una chiamata HTTP da Blazor
- Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
- 12 aprile 2010: ecco la data ufficiale di lancio di VS 2010 e .NET Framework 4.0
- Disponibile il SP1 di Visual Studio 2010 su MSDN, dal 10 marzo per tutti
- Prima preview di Sparkle, il designer grafico di WinFX
- Ufficializzate al Mix '06 le date di rilascio di WPF/E
- Produttività con ASP.NET Core 6
- Disabilitare a runtime il minification degli script in ASP.NET 4.5