Archive for the ‘VB’ Tag

Scaneo de directorios en .NET

What’s up people? Hoy decidí hacer un pequeño aporte a la comunidad mediante el blog, y por eso les traigo una forma de recorrer y obtener datos sobre los archivos de una PC utilizando VB.NET.

La historia es que en el trabajo tuve que hacer un pequeño aplicativo que e alguna manera indexaba archivos con extensiones específicas para luego hacer comparación de versiones y demás.

Bueno, entonces pensé que capaz que alguien podría estar interesado en una funcionalidad similar y por eso comparto este pequeño algoritmo recursivo que recorre en profundidad los directorios de una PC a partir de uno de origen, y es capaz de extraer cierta información de los archivos que encuentra.

Disfruten y si a alguien le sirvió comenten! (si no les sirvió para nada también comenten, asi no vuelvo a cometer el error 😉 ).

Salute!

El código prometido:

public Shared Sub ExplorarDirectorios(ByVal pCurrentDir As String)
Try
For Each file As String In My.Computer.FileSystem.GetFiles(pCurrentDir)
Dim objFile As FileInfo = New FileInfo(file)
Dim fVersion As FileVersionInfo = FileVersionInfo.GetVersionInfo(file)
'FileIndex es un objeto miÃ�­o donde almeceno las propiedades que me interesan
'dejar registradas
Dim fIndex As New FileIndex
With fIndex
.IndexDate = Now
.FileName = objFile.Name
.FileCreationDate = objFile.CreationTime
.FileModifiedDate = objFile.LastWriteTime
.FilePath = objFile.DirectoryName
'algunos tipos de archivos no cuentan con una version
If Not fVersion.FileVersion Is Nothing Then
.FileVersion = fVersion.FileVersion
Else
.FileVersion = ""
End If
End With
'aca podes agregar el objeto FIleIndex a una coleccion o guardarlo
'en base de datos
Next

For Each dir As String In My.Computer.FileSystem.GetDirectories(pCurrentDir)
ExplorarDirectorios(dir)
Next
Catch ex As UnauthorizedAccessException
Console.WriteLine("No se pudo obtener acceso al directorio " & pCurrentDir)
End Try
End Sub
Anuncios