UNDELETE attempts the recovery of deleted files.
undelete [directory] [options]
directory The location where the file to be undeleted is.
If no directory is given, the current working
directory is assumed.
There are also more advanced undelete options:
undelete /action what destination [size]
/ALL Undelete ALL files in the given directory without
prompting for each file.
/LIST Lists files that can be undelete without prompting to
undelete; no action is taken.
/E Exports any undeleted files to an external disk and
directory. With this option the source disk isn't
/syssave Saves the 1st or 2nd copy of the FAT, boot sector or root
directory. Select fat1, fat2, boot, or root in [what].
/follow Looks for a (possibly deleted) file starting at the
cluster [what] and saves data to a file given as
[destination]. The output of DIRSAVE helps you to find
the right cluster number.
/dirsave Like FOLLOW, but saves a directory to a file. Directory
[what] must be given by an absolute path starting with
\ OR by a cluster number. Also shows a technical
directory listing on the screen.
destination must be on a drive other than the current drive. Data
is always read/recovered from the drive from which
undelete is invoked.
size Specifying size is not needed, but you can override the
autodetection by specifying size (in clusters for
FOLLOW, in sectors for DIRSAVE).
UNDELETE only works on FAT12 / FAT16 disks!
1. Finding undeleteable files and directories:
Run undelete in DIRSAVE mode. You will see deleted directory
entries specially marked, and you will see their cluster numbers
on the screen. You can redirect screen output to a file, for
undelete /DIRSAVE \ x:\rescued.dir >y:\logfile
Where logfile will contain the screen output.
If you have the FreeDOS utilites installed on your system, you
could use something like one of the following instead:
undelete /DIRSAVE \ x:\rescued.dir | TEE y:\logfile
undelete /DIRSAVE \ x:\rescued.dir | TEE y:\logfile | MORE
These will display the information on screen as well as store it
in the logfile.
2. Recovering an undeleteable file
Find the starting cluster of the file using DIRSAVE, as explained
above. Then use FOLLOW on that cluster, for example:
undelete FOLLOW 1234 x:\rescued.bin
would save the contents of the deleted file starting on cluster
1234 to the file rescued.bin on drive x.
- Recovering from within deleted directories
Run DIRSAVE on an existing directory to find the starting cluster
of the deleted directory. Then run DIRSAVE on that cluster to find
deleted files and directories within the deleted directory... and
so on with successive cluster numbers as required.
- Recovering partially overwritten files
Use FOLLOW on the existing new files and override the size value
(in clusters, undelete tells you how big a cluster on the current
drive is when you start undelete). So, if you have accidentally
overwritten a long file "OLD" with a short new file "NEW":
* find the cluster number of "NEW"
* give the size of "OLD" when using FOLLOW
* The recovered output will begin with the contents of "NEW" but
should contain the not-overwritten end of "OLD" as well,
- Using undelete to "mirror" important drive data
If your filesystem gets completely broken, you can try to write
back the important data saved by SYSSAVE. The saved information
has to be stored on a separate disk. You may also wish to use the
MIRROR command, which is simpler to use but stores the saved
information at the end of the disk.
* Run undelete in SYSSAVE mode for all 4 sources: fat1, fat2, boot,
* Keep the files in a safe place
- Restoring the "mirror" data
This may be necessary in some cases of disk disaster.
WARNING: This is for experts, repair-men and very desperate people
only! Doing this incorrectly or unnecessarily could make things
* Glue the 4 sources together in the order "boot fat1 fat2 root" to
reconstruct the first part of your partition, starting with the
* you could use DEBUG (w command) to restore this info
* You can also merge saved and existing data with a hex editor.
- see comments -
Copyright (C) 2003 Eric Auer, updated 2008 by W. Spiegl.
This file is derived from the FreeDOS Spec Command HOWTO.
See the file H2Cpying for copying conditions.