Autor Tema: Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic  (Leído 19000 veces)

evancio

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Hola saludos

mi problema es el siguiente quiero crear
un codigo que me diga presionando un boton vea que archivos del 1 al 1000
Hace falta y que me manda un mensaje diciendo archivo tal hace falta o que lo ponga en
Una listbox hasta ahorita no e tenido exito este es el codigo mas acertado que e podido encontrar

If File.Exists("\\192.168.1.113\facturacion\FAC_ELEC_EA_13\ABRIL2013\EA15416.xml") Then
            ListBox3.Items.Add("\\192.168.1.113\facturacion\FAC_ELEC_EA_13\ABRIL2013\EA15416.xml")
        Else
            MsgBox("EA15416.xml no existe", MsgBoxStyle.Information)
        End If



pero como son mas de 3000 archivos pues no tiene caso hacer esto 3000 veces espero me puedan ayudar uso visual studio 2012.


Estaré al pendiente ante cualquier duda que pudieran tener me urje mucho es para el trabajo.
Gracias

« Última modificación: 01 de Noviembre 2014, 10:55 por Ogramar »

evancio

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Re:Como saber que archivos existen
« Respuesta #1 en: 30 de Octubre 2014, 22:32 »
alguien sabra?
« Última modificación: 30 de Octubre 2014, 23:52 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Como saber que archivos existen
« Respuesta #2 en: 30 de Octubre 2014, 23:55 »
Hola, ¿con qué lenguaje de programación estás trabajando?

No he entendido bien lo que quieres hacer. ¿Quieres sacar un listado de los archivos que hay en un directorio?

¿A qué te refieres con que un archivo hace falta? ¿Hace falta para qué? ¿Los archivos están numerados y buscas si algún número no está por haberse perdido o algo así?

Perdona las preguntas pero no acabo de entender lo que tratas de hacer

Saludos!!

evancio

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Re:Como saber que archivos existen
« Respuesta #3 en: 31 de Octubre 2014, 00:28 »
hola gracias por esponder mira por ejemplo en una carpeta de 300 archivos

150 son pdf y 150 son xml

quiere decir ejemplo :


1.pdf
1.xml
2.pdf
2.xml
lo que necesito saber es que archivo me falta de esos 300 los 300 archivos estan empezando desde el 1 al 300. es una carpeta

ocupo que me ponga en una listbox1 o ya sea mensaje o textbox como sea posible el archivo que se brinco que es el que falta.

lenguaje de programacion visual basic en visual estudio 2012

Saludos
« Última modificación: 31 de Octubre 2014, 00:30 por evancio »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Como saber que archivos existen
« Respuesta #4 en: 31 de Octubre 2014, 09:43 »
Hola, creo que haya varias maneras de hacerlo, la primera cuestión es si los nombres de ficheros son conocidos o no lo son.

Por ejemplo si los nombres de ficheros son 1.xml, 1.pdf, 2.xml, 2.pdf, etc. sí son conocidos y puedes generar dichos nombres concatenando partes de cadenas (concatenando por ejemplo 1 con el punto y con xml).

En este caso, podrías comprobar la existencia del fichero de la siguiente manera:

En un bucle, intenta la apertura del fichero y mantén una captura de error para el caso de que no exista. Si el fichero existe, pasa al siguiente, si no existe, al saltar la excepción, guarda el nombre del fichero que no existe en un array (arreglo) donde guardes los ficheros que no existen.

Aquí tienes un curso donde en la entrega CU00329A-2 tienes una referencia: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

Cuando termine el proceso, tendrás el array con el nombre de los ficheros que no existen y podrás mostrarlo por pantalla o imprimirlo, etc.

Si los nombres de ficheros no son conocidos, tendrías que explorar primero el directorio para leer el nombre de todos los ficheros existentes y almacenarlos por ejemplo en un array. Luego puedes ordenar dicho array por orden alfabético y comprobar si cada fichero tiene su par (por ejemplo si estás leyendo y encuentras GG77MM.pdf, el siguiente fichero en orden alfabético tendría que ser GG77MM.xml, si no es así puedes apuntar que falta un fichero).

Habría que depurar un poco la idea, pero pienso que siguiendo esos pasos puedes ir enfocándolo.

Saludos

evancio

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Re:Como saber que archivos existen
« Respuesta #5 en: 31 de Octubre 2014, 16:10 »
hola gracias por responder en si no creo que sea viable en que me base en los pares de 1.pdf y 1 xml porque puede que ninguno de los 2 existan yo solo ocupo saber que archivos me faltan del 1 al 300  de la carpeta c:\\abrirl2014

ejemplo:
1.pdf
1.xml
2.pdf
2.pdf
4.pdf                                <<<<error faltan archivos 3.pdf y 3.xml
4.xml                                       
5.pdf                                     
6.pdf                            <<< error falta archivo 6.xml

En si no pense que fuera tan difícil para personas expertas en solo saber que codigo poner para hacer la respuesta lamentablemente yo no tengo tiempo de leer los 61 cursos y poder entender al 100% de como hacer soy principiante y si todos los dias estudio 1 curso pero aun nose como hacerlo.
Si de favor me podrian facilitar algun codigo se agradeceria.

« Última modificación: 31 de Octubre 2014, 16:12 por evancio »

evancio

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Re:Como saber que archivos existen
« Respuesta #6 en: 31 de Octubre 2014, 21:14 »
Alguien sabe?

evancio

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Re:Como saber que archivos existen
« Respuesta #7 en: 01 de Noviembre 2014, 05:23 »
Bueno aparentemente nadie sabe como poder hacer ese codigo el que sepa me puede mandar un correo porfa ya que lo ven muy dificil estoy dispuesto a pagar.

bonelli.personal@gmail.com



Saludos.

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #8 en: 01 de Noviembre 2014, 10:56 »
Hola, puedes probar con esta idea del código más abajo, poniendo las rutas correctas, por ejemplo en vez de i&".pdf"  a lo mejor tu ruta es "C:\Users\Asus\Desktop\"&i&".pdf", depende de en qué carpeta tengas localizados los archivos.


Código: [Seleccionar]
Dim rutaPdf As String
 Dim rutaXml As String


  For i = 1 To 300
rutaPdf = i&".pdf"
rutaXml = i&".xml"

        If My.Computer.FileSystem.FileExists(rutaPdf) Then
            MsgBox("Existe el pdf " & i)
        Else
            MsgBox("No existe el pdf " & i)
        End If

 If My.Computer.FileSystem.FileExists(rutaXml) Then
            MsgBox("Existe el xml " & i)
        Else
            MsgBox("No existe el xml " & i)
        End If

  Next i

Príncipe_Azul

  • Principiante
  • **
  • Mensajes: 71
    • Ver Perfil
    • Foro ArgentinaIRC - Ayuda de Programación General, IRC y mIRC Scripting!
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #9 en: 01 de Noviembre 2014, 13:58 »
Hola, disculpame con todo respeto, pero no es necesario que leas todo el curso para poder hacer algo simple, lo que vos necesitás no es más que un simple bucle y como bien te indicó Alex, necesitás ir agregando los que no existen y luego imprimirlos.

Si no eres capaz de hacer eso, la verdad no se en que trabajo podrás estar, porque eso es algo simple, yo no se nada de VB, pero no debe ser algo muy díficil, es cuestión de leer, yo cada vez que necesito saber algo, busco en y ahí encuentro el %95 de las veces lo que necesito.

Aquí te dejo esto que probablemente te sirva:

Tutorial: Manipular archivos y directorios en Visual Basic

Cómo: Obtener la colección de archivos de un directorio en Visual Basic

Buscar los ficheros de un directorio en Visual Basic .Net

Saludos.

Sixtoex

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 105
    • Ver Perfil
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #10 en: 01 de Noviembre 2014, 14:25 »
Hola, disculpame con todo respeto, pero no es necesario que leas todo el curso para poder hacer algo simple, lo que vos necesitás no es más que un simple bucle y como bien te indicó Alex, necesitás ir agregando los que no existen y luego imprimirlos.

Si no eres capaz de hacer eso, la verdad no se en que trabajo podrás estar, porque eso es algo simple, yo no se nada de VB, pero no debe ser algo muy díficil, es cuestión de leer, yo cada vez que necesito saber algo, busco en y ahí encuentro el %95 de las veces lo que necesito.

Aquí te dejo esto que probablemente te sirva:

Tutorial: Manipular archivos y directorios en Visual Basic

Cómo: Obtener la colección de archivos de un directorio en Visual Basic

Buscar los ficheros de un directorio en Visual Basic .Net

Saludos.

Con todo respeto, la programación es lógica y lo que tu le estas ofreciendo es mecanizada, si el chaval no sabe trabajar con objetos como le pides que entienda algo tan "Simple"como dices?

Príncipe_Azul

  • Principiante
  • **
  • Mensajes: 71
    • Ver Perfil
    • Foro ArgentinaIRC - Ayuda de Programación General, IRC y mIRC Scripting!
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #11 en: 01 de Noviembre 2014, 14:47 »
A ver, el usuario trabaja de eso, osea que debería de tener conocimiento, en este caso no lo tiene, pero ¿que tan difícil es para el usuario buscar en Google? ¿Que acaso todo hay que entregarselo servido? No muchacho, no siempre es así y si hasta ahora nadie lo ha podido ayudar, es porque posiblemente no saben sobre el tema, pero no porque sea algo difícil, me imagino que porque no estuvieron en caso así, de todas maneras Alex le dijo perfectamente lo que debe hacer.

y si no sabe de objetos como vos decís, que me parece que estás hablando por él, el es él el que tiene que dar la respuesta, pero si él no sabe de objetos, entónces que lea, que busque así se aprende mi amigo.

Yo le estoy ofreciendo un método para que pueda aprender, que es buscar y leer, estudiar, nada del otro mundo para un programador.
Es más hasta le dejé 3 páginas para que mire ahí a ver si en algo le pueden ayudar esas webs.

evancio

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #12 en: 01 de Noviembre 2014, 16:39 »
Muchas gracias Ogramar

para los demas que contestaron tambien se agradece y si leo solo tengo una semana aun asi ninguno de tus 3 links que me diste principe azul me ayuda a resolver mi problema eso ya lo habia visto anterior mente desde google y hace poco empeze a usar visual basic , en mi trabajo quise hacer un programa que revisara que factura electronica faltaba de una carpeta determinada siguiendo su consecutivo, todos los dias estudio y leo si pregunto aqui es pq no encontre nada similar a lo que buscaba todos se basaban en ver si un solo archivo falta en determinada carpeta y yo buscaba una busqueda de muchos por consecutivo.

igual seguire estudiando todos los dias.

Saludos.
« Última modificación: 01 de Noviembre 2014, 17:04 por evancio »

evancio

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #13 en: 01 de Noviembre 2014, 16:57 »
Hola mira ahora lo pongo asi que me lo de en un boton.
rutaPdf = "C:\Users\Oscar\Desktop\prueba"&i&".pdf"
rutaXml = "C:\Users\Oscar\Desktop\prueba"&i&".xml"

esto me marca:
C:\Users\Oscar\Desktop\prbuscararchivos\prbuscararchivos\Pantalla Principal.vb(134) : error BC30277: El carácter de tipo '&' no coincide con el tipo de datos 'Integer' declarado.
Tengo un pequeño problema al final de la ruta del pdf y xml me dice se esperaba el final de la instruccion saludos.



Código: [Seleccionar]
Dim rutaPdf As String
        Dim rutaXml As String


        For i = 1 To 300
            rutaPdf = "C:\Users\Oscar\Desktop\prueba"&i&".pdf"
            rutaXml = "C:\Users\Oscar\Desktop\prueba"&i&".xml"

            If My.Computer.FileSystem.FileExists(rutaPdf) Then
                MsgBox("Existe el pdf " & i)
            Else
                MsgBox("No existe el pdf " & i)
            End If

            If My.Computer.FileSystem.FileExists(rutaXml) Then
                MsgBox("Existe el xml " & i)
            Else
                MsgBox("No existe el xml " & i)
            End If

        Next i
« Última modificación: 01 de Noviembre 2014, 16:59 por evancio »

Príncipe_Azul

  • Principiante
  • **
  • Mensajes: 71
    • Ver Perfil
    • Foro ArgentinaIRC - Ayuda de Programación General, IRC y mIRC Scripting!
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #14 en: 01 de Noviembre 2014, 17:10 »
A ver amigo, reemplazá esto:

Código: [Seleccionar]
            rutaPdf = "C:\Users\Oscar\Desktop\prueba"&i&".pdf"
            rutaXml = "C:\Users\Oscar\Desktop\prueba"&i&".xml"

por esto:

Código: [Seleccionar]
            rutaPdf = "C:\Users\Oscar\Desktop\prueba\"&i&\".pdf"
            rutaXml = "C:\Users\Oscar\Desktop\prueba\"&i&\".xml"

quizás sean las comillas, veamos.

PD: Compañero si o si tiene que ser Visual Basic? En Python un programa como este lo hacés más fácil, yo te podría ayudar.

Saludos!

evancio

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #15 en: 01 de Noviembre 2014, 17:24 »
No necesariamente en visual studio en cualquier otro que me pueda resultar el codigo sigue mal pero vere tmb lo del python haber que tal esta en si por el desarrollo este programa ya lo terminaria en visual studio ese codigo es lo unico que me falta todo lo demas ya lo tengo bien.

Gracias por tu apoyo

Príncipe_Azul

  • Principiante
  • **
  • Mensajes: 71
    • Ver Perfil
    • Foro ArgentinaIRC - Ayuda de Programación General, IRC y mIRC Scripting!
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #16 en: 01 de Noviembre 2014, 17:35 »
De nada bro, yo te doy una mano en lo que pueda y sepa.

Mirá este código de Python:

Código: [Seleccionar]
# -*- coding: utf-8 -*-

import glob

Archivos = glob.glob("C:\Users\Arg\Desktop\PJIRC\*.*")

for Archivo in Archivos:
    print Archivo


raw_input()

con ese simple código obtenés todos los archivos que estén dentro de la carpeta PJIRC, que sería por ejemplo estos:

C:\Users\Arg\Desktop\PJIRC\IRCApplet.class
C:\Users\Arg\Desktop\PJIRC\pjirc.cfg
C:\Users\Arg\Desktop\PJIRC\pjirc_1_9_0.zip
C:\Users\Arg\Desktop\PJIRC\webchat.html

Saludos!

evancio

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #17 en: 01 de Noviembre 2014, 17:41 »
Si gracias igual cualquier cosa aqui ando veré como poner el codigo bien que me dio orgramar y leere algunos tutoriales mas.


Saludos

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #18 en: 02 de Noviembre 2014, 12:59 »
Hola ¿has probado a incluir toString en las llamadas a variables numéricas? Normalmente la conversión es automática pero a veces no hace la conversión y se soluciona usando toString:

rutaPdf = "C:\Users\Oscar\Desktop\prueba"&i.ToString&".pdf"
rutaXml = "C:\Users\Oscar\Desktop\prueba"&i.ToString&".xml"

Salu2

evancio

  • Sin experiencia
  • *
  • Mensajes: 14
    • Ver Perfil
Re:Como saber que archivos existen Computer.FileSystem.FileExists Visual Basic
« Respuesta #19 en: 02 de Noviembre 2014, 14:57 »
Hola ogramar gracias por contestar hise la prueba con el nuevo codigo que me diste y esto me dio.

------ Operación Compilar iniciada: proyecto: prbuscararchivos, configuración: Debug Any CPU ------
C:\Users\Oscar\Desktop\prbuscararchivos\prbuscararchivos\Pantalla Principal.vb(133) : error BC30277: El carácter de tipo '&' no coincide con el tipo de datos 'String' declarado.
C:\Users\Oscar\Desktop\prbuscararchivos\prbuscararchivos\Pantalla Principal.vb(133) : error BC30205: Se esperaba el fin de instrucción.
C:\Users\Oscar\Desktop\prbuscararchivos\prbuscararchivos\Pantalla Principal.vb(134) : error BC30277: El carácter de tipo '&' no coincide con el tipo de datos 'String' declarado.
C:\Users\Oscar\Desktop\prbuscararchivos\prbuscararchivos\Pantalla Principal.vb(134) : error BC30205: Se esperaba el fin de instrucción.
========== Compilar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".