But every long file name has to have a corresponding short name, or otherwise those old programs couldn't open them. These names look like this: Long name: Hello, World.txt Short name: HELLOW~1.txt
-
Show this thread
-
Old programs will only see the short name and use that, newer programs will substitute in the long file name. The short name is the only one that actually species a file, though, and the long name entries just sort of annotate what the file is REALLY called.
1 reply 0 retweets 31 likesShow this thread -
this is why you can go into DOS and delete HELLOW~1.TXT and it'll disappear from Windows 95, because Windows 95 will just ignore the long-name-entries that have no corresponding short name.
3 replies 0 retweets 35 likesShow this thread -
But the thing is, this shortening is mainly focused on the file's name, not extension. So what happens if you go onto windows 95 and name a file "HELLO.VERY LONG EXTENSION"? You get something like "HELLO~1.VER"
1 reply 0 retweets 32 likesShow this thread -
Because while it puts the ~1 stuff in to indicate a truncated file name, for the extension it just truncates it at 3 letters. The full name will still be there in the LFN entries, so Win95 will still show it fine.
1 reply 0 retweets 29 likesShow this thread -
but it means if you go into DOS and do "DIR *.VER" it'll show you this HELLO~1.VER file. And I suspect they used this fact as a way to make the filtering slightly faster and simpler: It filters on the short name extensions, not the long name extensions.
2 replies 0 retweets 34 likesShow this thread -
This makes sense because DOS filenames are ALWAYS 8.3 A file named "FOO.TXT" is actually named "FOO_____TXT", where _ means a space character. You always know where the extension is, and it doesn't store the dot because it's implicit.
2 replies 0 retweets 44 likesShow this thread -
So it's super-simple to match files based on their 8.3 names. Go into the directory records, skip over the first 8 characters of the name, do a match on the last 3. Done.
1 reply 0 retweets 33 likesShow this thread -
Keep in mind that when this scheme was invented, it was running on very slow computers with very slow hard drives and very little RAM. I literally have a computer the size of a lego brick sitting on my bag with 10x the minimum CPU and 2x the RAM.
1 reply 0 retweets 41 likesShow this thread -
So cutting corners like this was fine. For the NT series, I don't believe they ever did this, but I'm not 100% sure on that. In any case, when the 9x line of Windows and the NT line merged (in Windows XP), we finally got FULL EXTENSION MATCHING! ... kinda.
2 replies 0 retweets 34 likesShow this thread
I can confirm that even in 2015, file extension matching involved some sorts of unexpected behaviors.pic.twitter.com/T76RCIA0a2
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.