In message <
[email protected]>
Harriet Bazley <
[email protected]> wrote:
On 8 Dec 2024 as I do recall,
Bernard Boase wrote:
On 7 Dec 2024, [email protected] wrote:
I'm sure I used to have some software that would search through files/folders and flag up any duplicates, but can't remember what it was called (if it actually exists!).
This was last discussed in Archive Online mailing list in January 2023.
You can start by running Mike Hobbs' !EnumDir (as modified by John
Rickman) to create a file listing all the files in the directory that you drag in (and all its subdirectories). Then:
Either put the list into a spreadsheet and create a column of just the leafnames (1) and sort the sheet on the leafnames.
Given the structure of RISC OS applications, aren't you just going to
end up showing vast numbers of (non-duplicate) files with the leafname !Sprites, !RunImage, !Boot, Templates, !Help etc.?
Sorting them on leafname *and* filesize might help, but leafname and datestamp would seem more foolproof.
Write two Obey files in same directory
First file "Start" content
| Parameter
| 1 - Output file
| 2 - Directory to check
Create %0
SetType %0 Text
Do <Obey$Dir>.rekursiv %0 <Obey$Dir> %1
Second file "rekursiv" content
| examine subdirectories
repeat "%1.rekursiv %0 %1" %2 -directories
| MD5
|repeat "md5 " %2 -files " { >> %0 }"
repeat "RAM::RamDisc0.$.MD5 " %2 -files " { >> %0 }"
Put MD5 from !Internet.bin into top directory of RAM disc. This is also
a good place for a copy of "Start" and "rekursiv"
Start "Start" inside a task window with outputfile and directory to examine. Actual directory should be that one containing MD5, Start and rekursiv.
You will obtain something like this in the output file.
MD5 (LanMan98::RISCOS.$.!Boot.Resources.!Internet.utils.BootNet) = 9657668abf91ca0f151b39a5af59c4f3
MD5 (LanMan98::RISCOS.$.!Boot.Resources.!Internet.utils.ReadCMOSIP) = ce8ff222112af8397dfefa728e11a842
MD5 (LanMan98::RISCOS.$.!Boot.Resources.!Internet.utils.TriggerCBs) = 1208f0c5e67c22d22912e5d52c6371cd
MD5 (LanMan98::RISCOS.$.!Boot.Resources.!Internet.utils.CheckMem) = ed723224af6b2fc054bf45ab272c536b
Edit the result inside an editor of your choice (Zap, StrongEd).
Replace "MD5 (" by a " and ") = " by a ", or something like this.
Load as CSV file into e.g. FireWorkz and sort by second column (MD5
checksum). In third column you can add a simple formular comparing the
checksum of actual and the following line.
This method is not entirely accurate as different files may have the same MD5 checksum but it is a good selector to find files which are perhaps the same ones. Combining candidates with size and time stamp will improve the result
but I think this isn't necassary.
Regards
Thomas Milius
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)