Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Eliminar fichero sin poder recuperar (https://www.clubdelphi.com/foros/showthread.php?t=76128)

r_e_g_2007 10-10-2011 23:07:00

Eliminar fichero sin poder recuperar
 
Hola

Quisiera preguntar como se podría eliminar un fichero que después no se pueda recuperar con ninugun programa que recupere. Hacer eso desde delphi.

Un saludo y muchas gracias

Casimiro Notevi 10-10-2011 23:25:09

Tendrías que mirar en qué posición del disco está almacenado, seguir su rastro cluster a cluster, sobreescribiendo varias veces con distintos valores cada uno de ellos.
Como hay que hacerlo a "bajo nivel", tendrías un problema, que seguramente el sistema no te dejaría hacerlo, interceptaría la orden y no te dejaría, aunque para todo hay trucos.
No es una cosa sencilla, te recomiendo que busques información sobre sistemas de archivo: fat32, ntfs, ext2, ext3, reiserfs, etc.
Tengo un libro ya muy viejito, la guía de discos norton, o algo así, se llama, donde se explica muy detallado el funcionamiento de los discos, cómo están particionados, etc. seguramente existirá lectura más actualzada.

oscarac 10-10-2011 23:36:21

mm no se...
se me ocurre

has probado desfragmentando el disco?

ecfisa 10-10-2011 23:58:49

Hola.

Si tu archivo tiene atributo normal podés hacer:
Código Delphi [-]
  Windows.DeleteFile('C:\TU_ARCHIVO.TXT');
De no ser así revisá la función SetFileAttributes.

Saludos.

duilioisola 11-10-2011 09:12:49

La solución creo que pasa por rellenarlo de '0' y luego borrarlo.

Código Delphi [-]
begin
   a := archivo;
   l := longitud;
   For i := 0 to l-1 do
      a[i] := #0;   
   DeleteFile(a);
end

Neftali [Germán.Estévez] 11-10-2011 10:03:58

Cita:

Empezado por duilioisola (Mensaje 415193)
La solución creo que pasa por rellenarlo de '0' y luego borrarlo.

+1

No lo he puesto en práctica, porque no lo he necesitado, pero he leído que es de las más simples y efectivas.
Al sobreescribir con 0's TODO el fichero, ya no te tienes que preocupar de impedir la restauración posterior con otro tipo de herramientas (para borrados accidentales), ya que aunque la recuperación del fichero en sí se haga, el contenido es lo que realmente hemos borrado.

Además técnicamente, no tiene complicación ninguna.

r_e_g_2007 12-10-2011 12:30:21

Muchas gracias a todos por sus respuestas y teneis mucha razon, me guiaré por sus respuestas. Gracias a todos


La franja horaria es GMT +2. Ahora son las 18:01:58.

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