Obtener listado de archivos desde un directorio aplicando filtros visual basic .net
Muchas veces necesitamos obtener todos los archivos que se encuentren en un directorio, o simplemente algunos que posean alguna extensión o nombre en particular. A continuación les mostramos como realizar este proceso de manera fácil y efectiva.
Función para obtener lista de archivos
Public Function obtenerArchivosDirectorio(ByRef rutaArchivo As String) As List(Of String) Dim listaRutas As List(Of String) = New List(Of String) Dim ruta As String ruta = rutaArchivo Dim rutas As String rutas = Dir(ruta) Do While rutas <> "" listaRutas.Add(Path.GetDirectoryName(rutaArchivo) + "\" + rutas) rutas = Dir() Loop Return listaRutas End Function
Formas de uso
Supongamos que el directorio C:\ contiene los siguientes elementos:
C:\Prueba.txt
C:\Archivo.txt
C:\Archivo.xls
Obtener todos los archivos
obtenerArchivosDirectorio("C:\*.*")
el resultado será una lista con todos los elementos:
C:\Prueba.txt
C:\Archivo.txt
C:\Archivo.xls
Obtener todos los archivos con extensión .txt
obtenerArchivosDirectorio("C:\*.txt")
el resultado será una lista con todos los elementos:
C:\Prueba.txt
C:\Archivo.txt
Obtener todos los archivos llamados Archivo sin importar la extensión
obtenerArchivosDirectorio("C:\Archivo.*")
el resultado será una lista con todos los elementos:
C:\Archivo.txt
C:\Archivo.xls
Obtener solo el archivo llamados Archivo con extensión .txt
obtenerArchivosDirectorio("C:\Archivo.txt")
el resultado será una lista con todos los elementos:
C:\Archivo.txt
Esperamos sea de su utilidad
Saludos
Gracias Victor por tu información, me estoy iniciando en vs .NET
y espero que tu buena y sencilla explicación me sirva ya te comentare.
Yo lo que quiero es localizar el archivo y si no lo encuentra que me de un aviso msgbox en conforme no existe. Lo voy a intentar con tus datos y te comento
gracias
eugenio
Como puedo realizar una busqueda de archivos pero con filtro de solo los dos primeros caracteres, es decir, tengo 5 archivos pero solo 2 empiezan con «AR» quiero que esos dos se guarden en un array.
Solo escribe «C:\AR*» o «C:\AR*.txt» si quieres filtrar por extensión.
Saludos
Lo intentaré graciss
Si te gusta C# puedes ver el siguiente método
https://www.qis.cl/obtener-listado-de-archivos-desde-un-directorio-aplicando-filtros-c/
Saludos