Its all in what Delete actually means
Ok on computers if you delete data, you ain't actually destroying it. What you are telling the Fat table is to tag these areas of disk for deletion. The OS will then allow new data to be written to the areas of disk that are tagged for deletion, or on defragging to clean up that area of desk.
You can use Norton Utilities to untagged data, thereby seemingly getting it back from oblivion.
Good example is most mdbs. If you delete a record, you are tagging that record for deletion, thereby it doesn't show up in reports etc. Caren't remember the command, but there is one in vb for viewing deleted records, coz they are still on the database. If you zap or compress the database then the record is canned.
Unix and Pick work in the same way
Here is a trick to delete all files for good.
For example, if you want to delete a JPG file for good, write a program which would do the following:
- change the extension of the file to txt
- open the file
- delete all the contents
- Write some bogus data into the file
- save and close it
- change it back to the original name
- delete the file
Here is a sample I wrote in Excel VBA:
Code:
Sub pDeleteIt()
'PURPOSE: WARNING!!!!!
' The following procedure will delete all files permenantly
Dim intY As Integer
Dim strDelFile As String
Dim strDir As String
strDir = fGetFilesInDirectory()
'PURPOSE: Make sure you want to delete
If MsgBox("Activate Delete Process?", vbYesNo, "***** WARNING! *****") = vbNo Then End
Do Until ActiveCell.Value = ""
'PURPOSE:Increase the serial number
intY = intY + 1
strDelFile = "Del" & intY & ".txt"
ActiveCell.Offset(0, 1).Value = strDelFile
'PURPOSE:Rename to a text file
Name strDir & ActiveCell.Value As strDir & strDelFile
'PURPOSE:Write Bogus Info
DoEvents
Open strDir & strDelFile For Output As #1
Print #1, "Confidential"
Close #1
'PURPOSE:Rename text file back to what it was
Name strDir & strDelFile As strDir & ActiveCell.Value
'PURPOSE:Delete File
Kill strDir & ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
Range("a1").Select
End Sub