PDA

Ver la Versión Completa : Como borrar archivos


martonbarbosa
13-08-2011, 01:43:17
Hola gente otra ves yo :D

Mi consulta es lo siguiente:

Tengo una carpeta que contiene varios archivos que comienzan con la palabra http y quiero borrarlos a todos, pero tengo que DEJAR uno solo que no empieza asi...

Entonces la idea seria ver, si se puede hacer algun codigo que me permita borrar cualquier archivo que empieze con HTTP.....

Probe de mil formas y NO me salio....

Alguna idea?

Otra consulta:

Yo tengo una carpeta que se llama: "bo9exitk.default"
y me gustaria poder ingresa a esa carpeta desde delphi, pero ingresando por:
".default"

Hay alguna forma de yo, poder entrar poniendo como ruta ".default" asi de esa manera obviar el "bo9exitk", que por cierto sulen ser numeros y letras aleatorias.

Se trata de la carpeta de firefox que contiene la CACHE y estoy haciendo un programa para borrar dicha cache... pero la idea no es usarlo solo en mi PC... yo quiero usarlo en cualquier PC....

Desde ya muchisimas gracias

4n7chr157

newtron
13-08-2011, 09:25:42
Hola.

Aquí tienes la respuesta para tu primer tema:


Procedure BorraArchivos;
var
Path: String;
Fichero : TSearchRec;
begin
Path:='C:\RUTA';
FindFirst(Path + '\HTTP*.*', faArchive, Fichero);
If Fichero.Name = '' then exit;
DeleteFile(Path + '\' + Fichero.Name);
while FindNext(Fichero) = 0 do begin
DeleteFile(Path + '\' + Fichero.Name);
end;
end;


Esto no está probado, espero que funcione.

Seguro que hay una forma para no duplicar el deletefile pero ahora mismo no se me ocurre.

Tendrás que añadir al uses del formulario la unidad SysUtils.

Saludos

Edito:
Para la segunda pregunta échale un vistazo a esto:

http://delphiallimite.blogspot.com/2007/09/explorar-unidades-y-directorios.html

que tiene ejemplos bastante claros para el tema que comentas.

Saludos

martonbarbosa
13-08-2011, 15:46:02
Procedure BorraArchivos;
var
Path: String;
Fichero : TSearchRec;
begin
Path:='C:\RUTA';
FindFirst(Path + '\HTTP*.*', faArchive, Fichero);
If Fichero.Name = '' then exit;
DeleteFile(Path + '\' + Fichero.Name);
while FindNext(Fichero) = 0 do begin
DeleteFile(Path + '\' + Fichero.Name);
end;
end;



WOW te agradesco muchisimo, lo acabo de probar y funciona de maravilla!!!!
es justamente lo que andaba buscando! gracias loco!!!!

Ahora voy a revisar el segundo!

Salu2

4n71chr157

martonbarbosa
13-08-2011, 16:02:55
La verdad Newtron que te agradesco muchisimo!!!

Lo pude hacer funcionar ja... y simplemente use el primer codigo que me diste y lo adapte a ambas situaciones y funciono de marabilla!!!

te adjunto el code para que veas como quedo y que funciona!


//Limpia Rastros Firefox
if ChFi.Checked then
begin
FindFirst(Raiz + Usu + Ruta + 'Datos de programa\Mozilla\Firefox\Profiles\' + '*.default', faDirectory, Fichero);
If Fichero.Name = '' then exit;
FileInfo.Wnd := Handle;
FileInfo.wFunc := FO_DELETE;
FileInfo.pFrom := PAnsiChar(Raiz + Usu + Ruta + 'Datos de programa\Mozilla\Firefox\Profiles\' + Fichero.Name + '\Cache\*.*' + #0#0);
FileInfo.pTo := nil;
FileInfo.fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
ShFileOperation(FileInfo);
while FindNext(Fichero) = 0 do begin
FileInfo.Wnd := Handle;
FileInfo.wFunc := FO_DELETE;
FileInfo.pFrom := PAnsiChar(Raiz + Usu + Ruta + 'Datos de programa\Mozilla\Firefox\Profiles\' + Fichero.Name + '\Cache\*.*' + #0#0);
FileInfo.pTo := nil;
FileInfo.fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
ShFileOperation(FileInfo);
end;
end;


Con este codigo lo que haceos es borrar la cache de Mozilla Firefox :D

Nuevamente muchisima gracias!!!

Salu2

4n71chr157

newtron
14-08-2011, 09:08:27
Nada hombre, me alegro haberte ayudado. :)

Saludos