none
como puedo eliminar un archivo? RRS feed

  • Pregunta

  • hola buen día a todos , tengo un problema y es que no puedo eliminar los archivos de una carpeta seria de gran ayuda que me apoyaran a resolverlo. en el siguiente codigo nos muestra los archivos en un listboxt los archivos me los muestra como dias de la semana pero en numero es decir que el domingo ocupa el lugar 0, el lunes el 1, y asi hata llegar al sabado que es 6, yo lo he intentado pero me dice que System.IO.FileNotFoundException: 'Could not find file '1'.' seria de gran ayuda amigos

     Dim di As New DirectoryInfo("A:\backups")

            Dim ficheros As FileInfo() = di.GetFiles("*.bak")

            Dim Files As IEnumerable(Of FileSystemInfo) = di.EnumerateFileSystemInfos().OrderBy(Function(fi) fi.CreationTime.Day)

            Dim dia As Integer



            For Each fi As FileInfo In ficheros
                dia = (fi.CreationTime.DayOfWeek)

                If dia = DayOfWeek.Monday Then

                    My.Computer.FileSystem.DeleteFile(dia)


                Else
                    MsgBox("no puedes escoria")
                End If

    se les agradece de ante mano sus aportes 

    miércoles, 26 de julio de 2017 15:18

Todas las respuestas

  • Prueba con esto

    My.Computer.FileSystem.DeleteFile(dia,true)

    miércoles, 26 de julio de 2017 15:26
  •  Public Sub BorrarArchivo(filePath As String)
             If System.IO.File.Exists(filePath) Then
                System.IO.File.Delete(filePath)
             End if
      End Sub
    Esta rutina recibe como parametro la ubicacion de archivo , ejemplo C:/NombreCarpeta/NombreArchivo.ext , primero comprueba q el archivo exista dentro del directorio para que no devuelva error  y si existe lo elimina


    EFRAIN MEJIAS C VALENCIA - VENEZUELA


    miércoles, 26 de julio de 2017 15:40
  • Hola;

     Es que no deberias de enviar el numero de dia, sino el nombre del archivo:

     For Each fi As FileInfo In ficheros
    	dia = (fi.CreationTime.DayOfWeek)
    	
    	If dia = DayOfWeek.Monday Then
    	
    		'My.Computer.FileSystem.DeleteFile(dia)
    		'pasas el archivo que esta presente en el ciclo
    		My.Computer.FileSystem.DeleteFile(fi)
    	
    	Else
    		MsgBox("no puedes escoria")
    	End If
     Prueba y nos comentas.


    Saludos desde Monterrey, Nuevo León, México!!!

    • Propuesto como respuesta JETET lunes, 22 de enero de 2018 7:27
    miércoles, 26 de julio de 2017 15:45
  • me dice que mi variable local fi es fileinfo y que no puede ser convertida a string
    miércoles, 26 de julio de 2017 15:53
  • Hola:

     Cambia la linea por esta:

    My.Computer.FileSystem.DeleteFile(fi.FullName)

     comentas tus resultados


    Saludos desde Monterrey, Nuevo León, México!!!

    miércoles, 26 de julio de 2017 16:07
  • esta ultima linea la puse y no me marco erroro pero tampoco elimino el archivo!
    miércoles, 26 de julio de 2017 16:50
  • Ok, entonces cambia la linea completamente:

    File.Delete(item.FullName)

    Quedaría así:

    For Each fi As FileInfo In ficheros
    	dia = (fi.CreationTime.DayOfWeek)
    	
    	If dia = DayOfWeek.Monday Then
    	 File.Delete(fi.FullName)
    	
    	Else
    		MsgBox("no puedes escoria")
    	End If
     Espero te sea de utiildad


    Saludos desde Monterrey, Nuevo León, México!!!

    miércoles, 26 de julio de 2017 17:11