Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-07-2008
Avatar de ZayDun
ZayDun ZayDun is offline
Miembro
 
Registrado: mar 2007
Posts: 129
Poder: 18
ZayDun Va por buen camino
Arrow Eliminar archivos segun su extension

Hola, buscando por el club encontre un codigo que hace practicamente casi lo que quiero, ya que este codigo elimina todos los archivos de una extension que indiquemos en la ruta que tambien decidamos. el problema es que si por ejemplo pongo C:\ me elimina solamente los que estan en C:\ y no las extensiones que se encuentren en algun directorio por ejemplo C:\temp


Código Delphi [-]
procedure TForm1.Button2Click(Sender:TObject);
 
Var
 
MiDir:String; // Donde están los ficheros
MisFicheros:String; //Cadena que contiene el nombre con comodines
RBusqueda:TSearchRec; //Está definida en la unidad SysUtils
 
Begin
MiDir:='C:\';
MisFicheros:='*.tmp';
 
If FindFirst(MiDir+MisFicheros,faanyfile, RBusqueda)=0 Then
Begin
DeleteFile(PChar(MiDir+RBusqueda.Name)); //Borro el primero si existe
 
//Busco todos los del mismo patrón y los borro
While FindNext(RBusqueda)=0 Do
Begin
DeleteFile(PChar(MiDir+RBusqueda.Name));
End;
 
//Ambas funciones devuelven 0 si la búsqueda tiene éxito
End;
End;

Alguno sabe que puedo añadir o modificar para que busque en los directorios? gracias.
Responder Con Cita
  #2  
Antiguo 14-07-2008
Khronos Khronos is offline
Miembro
 
Registrado: abr 2007
Posts: 298
Poder: 17
Khronos Va por buen camino
Código Delphi [-]
procedure Buscar(const directory, mask: string; atributos: integer);
var
    regBusqueda: TSearchRec;
  begin
    if FindFirst(directory + mask, atributos,regBusqueda) = 0 then
    begin
      try
          while FindNext(regBusqueda)= 0 do begin
             if (regBusqueda.Attr and faDirectory = 0)
            or (regBusqueda.Name <> '.')
              and (regBusqueda.Name <> '..') then
                     //Aqui hacemos lo que queramos..
                     DeleteFile(pchar(Directory + regBusqueda.name));
          end;
      except
        FindClose(regBusqueda);
      end;
      FindClose(regBusqueda);
    end;
    if FindFirst(directory + '*', atributos
      or faDirectory, regBusqueda) = 0 then
    begin
      try
        while FindNext(regBusqueda) = 0 do begin
          if ((regBusqueda.Attr and faDirectory) <> 0)
            and (regBusqueda.Name <> '.')
              and (regBusqueda.Name <> '..') then
                Buscar(directory + regBusqueda.Name + '\', Mask, atributos);
        end;
      except
        FindClose(regBusqueda);
      end;
      FindClose(regBusqueda);
    end;
  end;

Ten cuidado con esta funcion, no vayas a llevar un disgusto

Salu2
Responder Con Cita
  #3  
Antiguo 14-07-2008
Avatar de ZayDun
ZayDun ZayDun is offline
Miembro
 
Registrado: mar 2007
Posts: 129
Poder: 18
ZayDun Va por buen camino
jaja muchas gracias Khronos, intentare no añadir la extension *.exe :P saludos!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Abrir archivos de extensión .db SerPan DB2 16 01-09-2008 23:22:33
Obtener archivos de un directorio sin extensión esocrates Varios 7 26-06-2008 01:04:27
Extensión en nombres de archivos de fuente Ñuño Martínez Varios 6 05-07-2007 15:45:56
borrar archivos d un directorio\subdirectorios segun su extension. No me funciona :( images API de Windows 5 12-06-2007 00:14:30
Información sobre la extensión de archivos Casimiro Notevi Noticias 5 01-03-2007 03:10:18


La franja horaria es GMT +2. Ahora son las 14:30:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi