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 il log delle chiamate a function di GPT in ASP.NET Web API
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Eseguire script pre e post esecuzione di un workflow di GitHub
- Creare una libreria CSS universale: Cards
- Migliorare l'organizzazione delle risorse con Azure Policy