Tried it with some disks and the log is simple, but has all necessary infos
Yup. No "prose" in log files, that's a must. BTW, logs will be much better once the directory tree structure is working, though, because then I'll bit-mask the whole disk with TRUE for blocks used by files
, and FALSE for blocks not used by files
. Caution: blocks marked as USED in the Bit Allocation Map (BAM) do NOT necessarily have to contain vital data
and can as well contain random data without causing any harm! Currently, my app is in strict mode and will also detect them as checksum errors. Next version will distinguish block types, though
This means, block type = UNKNOWN and checksum error won't necessarily stand for corruption!
If you plan the use of recursion in the app right, it's actually easier
Not really. Not with the goal of making the app run on both Windows and
Linux at least.
Directory handling is COMPLETELY different in Windows and Linux, and, to my knowledge, requires completely separate functions to use.
Hence, the first step on the *NIX world will be a bash shell script (chkadf.sh).
Well to accumulate everything in ONE log file can be made optional, no problem. To meet everyone's needs, I'm just going to include three more BAT files which use ONE log file for everything.
However, personally the by-file solution is not that bad, because you can simply even use Windows search for 'OK' or 'unreadable' and move away all logs for files with no errors or unreadable bitmaps, only leaving the ones to be checked.
It would also possible to tag
the single log files so they can be filtered more easily. Maybe...
So my plan is this:
- add an alternative batch file which will always specify the SAME log file name, which by an INTERNAL (?) option will NOT ask if the file should be overwritten; however, I need to confirm the overwriting of the log file by default when the app is not invoked from a script.
Tricky, but I think it can be done.
[EDIT] There is one limitation I can't do much about it at this early stage: Files with characters like '%' (percent signs), which are interpreted as variable placeholders by the BAT processor CANNOT be processed, so make sure to either move them out of the way before scanning or rename them so that the filename does no longer include a percent sign!