Hi All,
Stumbled upon this while looking for ways to get rid of duplicate "My Documents" (etc) appearing in Explorer, one of which is actually just a protected shortcut (and a hidden system file by default). (MS's lame solution to that is to turn off the Show hidden
system files in Explorer (sigh)).
Anyhow, I can shed some light on all this other issue (which is NOT the same issue I just mentioned).
Is IS POSSIBLE to intentionally create both folders and files with identical names (if fact identical just about everything in the directory header) but completely different files/data.
However it requires accessing the hard disk directly via the FAT (file allocation tables) and using assembler level code to write the data back to to the FAT blocks. In essence, you need to bypass the disk BIOS (and/or BDOS) used by Windows and write your
own. I did this stuff to death in the 1980's before DOS was a for letter word and when Windows was just a dirty thought floating around Bill's brain. I even wrote a floppy disk driver for a multiplexed Z80 based rail signal controller system so I think I know
my stuff here, but its been a long time since I last looked at this level.
This problem can sometimes come about by older programs that started life as 1980's DOS-16 assembler libraries. I seem to recall Robocopy was already popular in the mid 1990's so its propbably an obscure bug with the application, but that is now starting
to appear because of the way Vista and Win7 do things. Just a guess.
Yes its a bit of a problem because Windows sees these directory entries as all the same file, whereas DOS only ever saw the first one.
It cant be fixed from Windows but its easy enough to fix at a lower level. You'll need to find and load the FAT block yourself, make the change and write it back. Now there were even some (DOS-16 based) programs that let you do this when MFM was king - I
think Nortons Disk Utilities was the best one - there were others. They probably dont work with FAT-32/NTFS or today's large disks.
In which case you'll need to write an assembler (or C) program to update the directory. You can even fudge this in the BDOS calls if all you want to do is give the files different names. BDOS will only see the first entry, so rename that one to something
else and hey presto, the other one still has the old name and problem solved.
I'll look into this further if enough (say 6 ppl) post a "I want it fixed real bad". Methinks, now that I have enlightened you, its far better to just work around the problem and live with it rather than waste endless amounts of time hoping to fix it. After
all, you havent actually lost any files have you ? So try copying them to somewhere else, delete the errant folder(s), and recreate it. If that doesnt work, start learning assembler. :-)