Cerca file

domenica 17 dicembre 2006 - 11.49

RE_LORIX Profilo | Newbie

Buongiorno a tutti.
Utilizzo VB.net 2005 e FW2.0
Quale comando posso utilizzare per ricercare una stringa all'interno di un direttorio che sia parte del nome ( o parte de nome ) di una sotto direttorio o file.
Vorrei creare una sorta di cerca nome file o cerca nome direttorio partendo da una path specifica.
Senza dover creare routine complesse ... esiste qualche cosa di già pronto nelle librerie del framework 2.0 ?
Grazie a tutti in anticipo
15 * sin ( Base * Altezza / 2 ) ...
... La vità è una questione di rototraslazioni !!!

freeteo Profilo | Guru

ciao,
di cose gia fatte non ce ne sono, il framework da a disposizione le classi base del namespace "System.IO" che contiene classi apposite per esplorare, avere informazioni e maneggiare tutto quello che riguarda il file system di windows.
Percio' io ti consiglierei di usare una classica funzione ricorsiva che parte da una dir e cerca tutti i file e le dir sottostanti, in questo ciclo quindi ti basta controllare seil nome che stai esplorando contiene ("Contains" appunto) la stringa che stai cercando.

Guarda questo articolo:
http://www.dotnethell.it/articles/FunzioniRicorsive.aspx

L'esempio fa proprio questo nel listato1, e riempie una treeview.Nel tuo caso invece probabilmente la treeview non ti interessa, ti basta controllare il name contiene quello che cerchi e operare di conseguenza...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

RE_LORIX Profilo | Newbie

Cosa ne pensi di questa pugnetta che mi son fatto ? Ti sembra seria ed attendibile ?
A me funziona ... cerca in tutti i percorsi annidati in C:\PLUTO le parole che in qualche modo contengono la parola PIPPO.
Il giochino delle 2 stringhe astrerisco ( prima e dopo ) mi permette di valutare se esiste qualcosa all'inizio o in coda alla stringa.
Puoi l'elenco dei risultati ottenuti viene caricata in FILES


Imports System.IO

Dim parola1 As String = "pippo"
Dim parola2 As String = "*" & parola1 & "*"
Dim dir As New DirectoryInfo("C:\pluto")
Dim files As FileInfo() = dir.GetFiles(parola2, SearchOption.AllDirectories)

freeteo Profilo | Guru

si direi che va benissimo,
L'unica differenza con quello che dicevo io, sta nel fatto che cosi' carichi un array completo, con la mia soluzione hai un momento in cui ti trovi questo "match" e puoi scegliere se interrompere il ciclo o fare qualcosa, quindi tralasciare gli altri.
Ma se non è il caso tuo, va meglio sfruttare il framework...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5