Why doesn’t Explorer let you create a file whose name begins with a dot?


Rolf Viehmann asks why Explorer doesn't let you create a file whose name begins with a dot.

Such files are considered to have an extension but no name. If the extension is known and the user has chosen to hide known extensions, the resulting file would have no name at all!

If you really want to create a file with a leading dot in its name, you are free to do so. You can do it from the command line or use your favorite file management tool. And then you can watch the file show up with no name and then observe the confusion that ensues. Maybe you're lucky and don't run any programs that freak out when a file has no name. If so, then more power to you.

If it really bugs you that you can't do it from Explorer, you are free to write your own shell extension to do "Rename this file, and if I'm going to shoot myself in the foot, then let me."

Comments (111)
  1. Ross Bemrose says:

    As someone who sometimes works on files that are to be used on UNIX, which uses leading dots to denote hidden files, it does annoy me that Explorer won’t let me create them.

    Luckily, my text editor appears to have no problems creating them.

    In case anyone is wondering, the files in question are things like .htaccess .

  2. . says:

    The set of people wanting files starting with a dot and the one of people keeping known extensions hidden have no intersection.

  3. Jonathan Wilson says:

    What I want to know is why "Hide extensions for known file types" exists at all (and more to the point, why such an option is the default)

  4. NUXI says:

    @Jonathan Wilson

    Because file extensions are confusing to grandma. She just named the file "Letter to grandson" not "Letter to grandson.doc" Granted this behavior drives many power users nuts, but as power users we know how to disable it for our accounts. The reverse is not true.

    Of course spaces in filenames are the evilest things ever created.

  5. Karellen says:

    But in that case, surely Explorer should let you create a file called ".foo.txt". It has a filename as well as an extension, and shows up as ".foo" to users with hidden file extensions. (At least, it does on WinXP) But it doesn’t.

    Unless, in order to check whether a file had a "filename"(?) part the Explorer devs just checked for the absence of a leading dot instead of actually checking for a filename part. But again that seems like an odd way of doing things.

  6. andy says:

    What I want to know is why "Hide extensions for known file types" exists at all (and more to the point, why such an option is the default)

    Because if the system knows the mapping between .exe and Executable it can simply write "Executable" in the display, which is much easier to grasp for most users. Same with "JPEG Picture" instead of .jpg.

    And, if it did not hide the extensions for these known types then lot’s of people would complain why Windows has to display the same information twice…

    Why it is the default? Usability testing probably shows that most users prefer to see "Bitmap image" instead of .bmp… or perhaps they just applied common sense?

  7. Karellen says:

    Taking a cue from the original question and pre-empting a "why would anyone call a file ".foo.txt", calling a file ".NET project guidelines.txt" is an example of why.

  8. John says:

    Ultimately, the problem is that "computers are hard" and "users are dumb".  You can only dumb down computers so much before you have to ask something of the user.  I mean you have to have a minimal level of understanding of how to operate a car.  Gas / break pedals, steering wheel, etc.  Similarly, you have to have a minimal understanding of how to use a computer.  Unfortunately, many users have a hard enough time dealing with anything more complicated than pushing the power button, moving the mouse, and primary-clicking once.

  9. mvadu says:

    @Ross Bemrose

    "Luckily, my text editor appears to have no problems creating them."

    I am not sure what is your text editor.. But Note pad also allows you to create a file like

    ".NET project guidelines.txt". So its not a OS level restriction. And file level API should be able to handle a file like ..txt.

    However Explorer Shell does not let you rename it, it bombs saying "You must type a Name", as some one said, devs must have checked

    if (Left(filename,1)==’.’)

    ShootUser();

    Who did QA for this part Ray.. (I know you need not know this Info)

  10. Its just kind of ironic that Explorer bans files that start with a dot, yet Microsofts premier developing environment is ".Net" :-)

    And yes, my download folder has .Net, .Net/2.0 .Net/3.0 etc.

  11. PatriotB says:

    I don’t know about XP, but on Vista I can name a file ".foo.txt" with no problems.

  12. Karellen says:

    mvadu > Did you not actually read Raymond’s post?

    "So its not a OS level restriction. And file level API should be able to handle a file like ..txt. However Explorer Shell does not let you rename it […]"

    This is the whole point of the post! Why repeat it as if you just figured it out by yourself?

  13. noone in particular says:

    @NUXI No, File extensions are not confusing to grandmas. After she has seen a few extensions, she likes how she can see the type of the file, even when she has switched off the annoying huge icons (she uses an old CRT, after all).

    Remind yourself: User are not necessarily stupid. Just maybe inexperienced with computers.

  14. MioTheGreat says:

    Maybe your grandmother doesn’t have any problems with file extentions, but I’m pretty sure they scare the hell out of mine, and she’s had a computer for nearly a decade.

  15. Joshua says:

    @Karellen: In Vista they allow you to create ‘.foo.txt’ or ‘.NET Programming Guidelines.doc’

    Not that I use a period as the first character in my filename anyway.

  16. Ralph says:

    What really bugs me is that sorting by type sorts by the name given to that type of file by whatever is set to open it, not the extension. This means that the top file is usually a .pdf ‘Adobe Acrobat 7.0 Document’, followed by .exe ‘Application’. Also if one program grabs lots of extensions and names them the same thing you can’t sort them at all. (Irfanview, Winrar)

  17. Reginald Wellington III says:

    "No, File extensions are not confusing to grandmas. After she has seen a few extensions, she likes how she can see the type of the file, even when she has switched off the annoying huge icons (she uses an old CRT, after all)."

    Your grandma loves huge icons.  She has bad eyesight in her old age, and finds it hard to focus on small text.  She still has trouble following the tiny mouse pointer, though.  Maybe you should get to know your grandma better before speculating on what she likes.

    (or better yet, we can drop the grandma analogy and speak with actual facts and evidence from usability studies)

  18. David Brooks says:

    In Vista Explorer Tile view, ".txt" not only has no name, it lists no type (understandable) or size (less so, but I’m sure there’s an obvious reason that will embarrass me when it’s pointed out) but it does have the text doc icon. Hmmm.

  19. CGomez says:

    "Ultimately, the problem is that ‘computers are hard’ and ‘users are dumb’.  You can only dumb down computers so much before you have to ask something of the user."

    What is silly is the notion that there is always a tradeoff between the two.  Leading dots for file names is a convention from an entirely different operating system.  It is not superior or inferior to allow such filenames.  It is merely different.

    At some point we have to ask something of the experienced power user and say, "Geesh, live without this, is it THAT big a deal.  The Hidden attribute has been in DOS and Windows forever, so use that."

    So is it merely that you just like it that way?  What makes it right over using the attribute?  I can’t see wither method being right or wrong, just the convention that built up over time.

  20. Leo Davidson says:

    Isn’t the obvious solution to not treat files with only one dot at the front as having just an extension?

    [Once we invent the time machine we can implement your rule change. -Raymond]

    If Explorer removes the “extension” and realises there is nothing left then it should display the entire filename, whether or not the “hide extensions” option is on. At least, I can’t see any negatives to doing that. It both solves the problem and fits with every real-world occurance of such files I have seen where the string after the dot really isn’t an extension and should not be treated as such.

  21. Marvin says:

    I wanted to reply with a solution that is very simple, intuitive and will leave both grandma and power users happy but Leo Davidson beat me to it.

    Of course given the direction that Explorer is taking there is no chance that something like this would ever be added to it.

    Obligatory ending: Vista and Vista’s Explorer suck  

  22. Charlene says:

    Since I think its crazy not to have the extension display in Explorer, I always turn that option off.  But I have been using computers for much longer than even MS-DOS has been around.

    But I’ve never had a problem with this kind of file, but I never have tried to create it in Explorer.  I usually create the file first in an editor and then save it.  I didn’t even know until today that Explorer worked that way.

  23. Ivo says:

    Speaking of renaming files, any time I have to batch-rename multiple files (mp3 albums, my documents, etc) I was thinking there must be a better way. Like a tool that shows all file names and lets you edit them like a multiline text block – with cursor navigation, insert/overwrite modes, find/replace, undo/redo, etc. When I’m done editing it would apply my changes (bonus points if the whole thing can be undone by pressing Ctrl+Z in Explorer).

    Is there something like this already?

  24. David Brooks says:

    I think some of the power user complaints come from the historically different ways OSes have treated these things. In Unices, historically the interpretation of the suffix was up to the individual app and the OS and shell didn’t care much. Plenty of files have no extension. In Windows, the extension is a marker of the file type, and its interpretation is built more deeply into the system, especially in 8+3 days. That feels like data being used as metadata, which always bothered me, but Unix magic numbers and their extensions (magic sequences on shell scripts and PostScript files, for example) have the same objection. Macs had metadata (the resource fork) from day 1.

    It seems to me that the power user dilemma comes from viewing the filesystem through a blend of the Unix and Windows viewpoints, while wishing we had a resource fork all along.

  25. SuperKoko says:

    Forbidding extensions renaming solved half of the problem. It’s still pretty easy to accidentally create a file that starts with a period. e.g. Save a file from many non-explorer software, or unzipping an archive containing files starting with “.NET”.

    Explorer isn’t the only tool to create files!

    “[Once we invent the time machine we can implement your rule change. -Raymond]

    No, we don’t need a time machine. It isn’t too late, and it won’t ever be too late. Microsoft can implement it in newer versions of explorer. This would solve the other half of the problem.

    (Obviously, Microsoft cannot implement it in older versions of Explorer, if that’s what you meant).

    [The rules for determining the extension from a file name were developed decades ago, and programs were written based on those old rules. You’re proposing changing the rules after the game has ended. -Raymond]
  26. Graem says:

    "Hide file extensions for known file types" absolutely should not exist. It hides security-critical information from the user! It is even possible for a .exe to spoof the metadata that is displayed in tile view (I have done it).

    I know that the status bar, details pane and tooltip all display the file type, buit, but what if the file is on the desktop (where two of these three don’t exist and people rarely use the tooltip)?

    The only reason that this "feature" exists is because back when Windows 95 was following the "copy Apple" design strategy that Microsoft loves so much, somebody thought "Mac’s don’t have file extensions, therefore we should hide ours" and back in Win95’s day, security wasn’t taken seriously (much to everybody since’s detriment).

  27. Aaargh! says:

    So does the dot still have a special meaning in ‘modern’ Windows OSes and NTFS ?

    And are they still used to determine what application to run on double-click instead of using metadata in the filesystem ?

    "What I want to know is why "Hide extensions for known file types"

    exists at all (and more to the point, why such an option is the default)"

    Because you’re exposing the user to a piece of metadata that the user doesn’t and shouldn’t care about. Furthermore, this whole extension thing is broken by design, it’s presented as part of the file’s name, which it clearly is not.

    For example: if you type a letter: "Letter to grandma" and you save it as a DOC file, the file will be shown with the name "Letter to grandma.doc"  which is the incorrect name, cause you named it "Letter to grandma" without the .doc part. Suppose you write a book, and you name it MyCleverTitle, it gets published and once you get the first copy you suddenly see "MyCleverTitle.IND" on the cover. You’re going to be pissed off at the printer. Yet, we accept this behaviour from our computer.

    Another problem is that an extension is not descriptive enough, if you get a .doc file, your computer might ASSUME it’s a Word file. But WordPerfect used to save file as .doc too.

    There are better ways to do this, as an example, the way OSX does this:

    If I save a JPEG file, and I query the metadata it gives a lot more information than just ‘JPG’ would, the content type tree for a JPEG is:

    "public.jpeg",

    "public.image",

    "public.data",

    "public.item",

    "public.content"

    Furthermore, there is no direct connection between the filetype/extension and the application that opens the file. You can have one .DOC open in Word and the other in TextEdit if you’d like, this can be set per-file. (there is of course a default)

    I think Apple’s solution is at least a step in the right direction, but they also use file extensions and the metadata can get lost when copying over the intertubes or archiving in formats that do not store metadata so it’s far from perfect.

  28. Aaargh! says:

    "It hides security-critical information from the user!"

    You could also wonder why the metadata describing the type of a file should be considered security-critical information.

  29. Alexey says:

    It would be helpful if Explorer also stripped out the zero-width non-breaking spaces from pasted filenames. Those can sometimes be encountered in the web.

    C:Windows

  30. Cereal says:

    You have to wonder (and I don’t mean to aim this at Raymond or anyone in particular) if somebody at Microsoft was kicking themselves at the "hide known extensions" feature, when they discovered that nearly every trojan was using that feature to its advantage.

  31. Jonathan says:
    1. The level of condescendence over grandmas in this thread troubles me.
    2. The convention of leading-dot-files-are-hidden comes from a completely operating system. In Windows, if you want a hidden file, you set its hidden attribute. If you want UNIX, you know where to find it.

    3. The name .NET is indeed unfortunate for more than just file names – just imagine all the speller hacks around it.

    4. I consider myself a power user, but I hide extensions on my Windows XP. It’s easier for renaming files – when you rename, Explorer selects the whole filename, and then you can just type a new name instead. But if extensions are shown, you have to re-type the extension as well. And typing ".mp3" after every file – including switching to English keyboard in order to do it, and back afterwards – gets old really fast.

    Epilog: Vista’s Explorer actually does better here – it initially selects just the file name, and leaves the extension unselected. I consider that a welcome improvement.

  32. John says:

    Well, you can’t please 100% of the people 100% of the time.  However, it would appear you can piss off 100% of the people 100% of the time if you try hard enough.

  33. ERock says:

    To Aaargh!:

    If they did it the OSX way then there will be snarky comments like "Copying Apple, eh?"

    It’s a no-win situation.

    Personally and secretly, I would like to see Alternate Data Streams used for things like "type of file", much like how IE tags an EXE downloaded with an ADS marking it with the domain from whence it came.

  34. Aaargh! says:

    "If they did it the OSX way then there will be snarky comments like ‘Copying Apple, eh?’ "

    Actually, I’d like to have them develop some kind of universal standard together, if the way to store this information is different on every OS we’re still in a big mess.

    Too bad MS isn’t too keen on open standards.

  35. Aaargh! says:

    "What metadata? This is not a Mac. There is no metadata"

    NTFS supports metadata, I just don’t know if it’s used for anything else than just the standard stuff like access times, permissions, etc.

  36. Cooney says:

    [What is an unknown extension today may become a known extension tomorrow. I’m sure you considered this and am curious how you intend to address it. -Raymond]

    Change the display when the new extension comes online. Personally, I’d just allow any old name and show extensions by default. In the edge case of .jpg with extensions hidden, I’d special-case the display name to show the extension. It sure makes dealing with .emacs files easier.

  37. Ulric says:

    Guys, to be more compatible with the rest of unix and Windows  world, Apple gave up using meta data for file type, and uses extensions to identify types in OS X.  And in the Finder, they hide the file extensions for known types, like Windows does.

    And no, file "extensions" don’t have any meaning in NTFS. It’s the UI shell or command prompts built in the operating system that give extensions their meaning.  Using Windows Explorer to create unix files that are meant to be hidden: edge case.  If explorer actually understood what you did, it would have to hide the file immediately.

  38. Leo Davidson says:

    [Once we invent the time machine we can implement your rule change. -Raymond]

    Isn’t it just a cosmetic/display issue, though? Right now Explorer shows completely blank names when faced with such files (if the "hide extensions" option is on). If it showed the names instead would anything other than the user notice?

    I confess that I don’t know whether the "hide extensions" option affects what would get returned when a program enumerated a shell namespace. If it did then I see your point. But if the only net affect was the labels printed on the screen then I can’t think of anything which would be broken.

    I should’ve said that I wasn’t proposing a change in the rules behind any API for splitting filenames into base and extension. Obviously they cannot change. But if nobody is relying on Explorer to apply those rules — and none other — when displaying the names on the screen then it should be free to change or augment the rules/APIs it uses now when working out what to display.

  39. SuperKoko says:

    Forbidding extensions renaming solved half of the problem. It’s still pretty easy to accidentally create a file that starts with a period. e.g. Save a file from many non-explorer software, or unzipping an archive containing files starting with ".NET".

    Explorer isn’t the only tool to create files!

    "[Once we invent the time machine we can implement your rule change. -Raymond]

    "

    No, we don’t need a time machine. It isn’t too late, and it won’t ever be too late. Microsoft can implement it in newer versions of explorer. This would solve the other half of the problem.

    (Obviously, Microsoft cannot implement it in older versions of Explorer, if that’s what you meant).

  40. SuperKoko says:

    "[The rules for determining the extension from a file name were developed decades ago, and programs were written based on those old rules. You’re proposing changing the rules after the game has ended. -Raymond]"

    I wouldn’t change this rule, I would only change EXPLORER. No other program.

    Here is my proposal.

    Whenever explorer finds a file name starting with a period, rather than ignoring its extension (with the risk of displaying an empty name), it would display the whole name.

    So, for example, unzipping an archive containing a file named .txt would show a ".txt" display name in explorer rather than a "" display name, which is better IMO.

    Or maybe you judge that displaying empty names is a great feature of Explorer many programs are relying on, but I doubt so.

  41. Raymundo Chennai says:

    A meta point about Chen’s douchebaggery:

    “[What is an unknown extension today may become a known extension tomorrow. I’m sure you considered this and am curious how you intend to address it. -Raymond]”

    Why not just say, “[What is an unknown extension today may become a known extension tomorrow.  How would you address this? -Raymond]”

    Same content, none of the condescension.  As a simple matter of being a decent human being, shouldn’t we avoid being condescending when possible?  

    From the standpoint of being a blogger, aren’t you more likely to engender a meaningful discussion if you consistently take the high road, even if most commentators consistently don’t?

    [I actually inserted that phrase in an attempt to be more polite. As in “I’m acknowledging that you’re smart enough to have known this without me having to point it out, but I’d like you to elaborate”. Without it, it’d have been “You idiot, you forgot this.” -Raymond]

    ——

    As a substantive matter, I’m confused about exactly what’s meant by, “[Files beginning with a period] are considered to have an extension but no name.”  Considered that by what?  Windows file system APIs?  E.g., when I create “.test.doc” with Notepad, explorer displays its type as a Word document.  Which is to say — as far as I can understand things — that explorer considers “.doc” to be the file’s extension which, consequently, suggests to me that it’s treating “.test” as the file’s name.

    [Allow me to be more precise. “Files beginning with a period and containing no other periods are considered to have an extension but no name.” I simplified the rule for expository purposes. -Raymond]
  42. Cooney says:

    Same content, none of the condescension.

    Hey, it’s not like he denies this – social skills of a thermonuclear device is his tagline.

  43. Raymundo Chennai says:

    @Cooney: I have NEVER been condescended to by a thermonuclear device.

  44. Yuhong Bao says:

    lack of user/admin privledge separation (prior to Vista)

    It existed since NT 3.1!

  45. ifeanyie says:

    Calling Raymond a douchebag, in his ‘home’ no less, is quite the douchebag move. (I realize that by stating this I have joined the club)

    In Raymonds defense it’s pretty hard to watch naive solutions hastily thrown out day by day, without regard for the competing design constraints.

    I dont think it’s an accident that on his very terse blog-roll The Daily WTF comes first. The comments section are like his personal Hourly WTF.

    All he asks people is that you spend a little time to consider all the angles.

  46. Raymundo Chennai says:

    @ifeanyie

    “In Raymonds defense it’s pretty hard to watch naive solutions hastily thrown out day by day, without regard for the competing design constraints.”

    If he was really that bothered by it, he could just disable comments.  I’ve also NEVER seen him respond to a suggestion positively — granted, I read the comments only sporadically.  I guess it’s possible that nobody has ever made a worthwhile observation/suggestion/whatever in the comments, but that strikes me as unlikely.

    The more probable explanation is that Chen gets off on mocking people he thinks are stupid.

    Look, the dude can run his blog however he wants.  But, so long as he maintains a liberal comment policy, I’m equally entitled to criticize him.

    [Good comments stand on their own. Would you prefer that I respond to good comments with “Good comment”? -Raymond]
  47. TimHollebeek says:

    Implementing "Hide known extensions" was definitely a mistake.  I know many people who have spent a significant amount of time on support calls, dealing with people who created files named things like "foo.txt" on default XP installs, only to be very, very surprised by the results.  It looks like a file called foo.txt, but whenever you pass the filename to any tool, it fails to find it!  Takes quite a while to figure out, unless you’ve been bitten by it before.

  48. Raymundo Chennai says:

    "[I actually inserted that phrase in an attempt to be more polite. As in "I’m acknowledging that you’re smart enough to have known this without me having to point it out, but I’d like you to elaborate". Without it, it’d have been "You idiot, you forgot this." -Raymond]"

    If this is true — and I believe it to be, as I am a strict adherent of the policy of believing online arguments are made in good faith (http://volokh.com/posts/1169515991.shtml) — then it’s a severe example of your cluelessly thermonuclear personality.  Plus, since you are so frequently snarky and rude in response to comments, ambiguity is likely to be interpreted as more of the same.  Arguably this is my problem, but arguably not.

    If I were you, I’d bear two things in mind: 1) if someone proposes a solution that seems to have a hole in it there are possible explanations falling somewhere between idiocy and failure to completely explicate a perfect design; and 2) not everybody shares the same policy preferences as you and/or Microsoft.  For example, Microsoft’s dogged insistence on maintaining backwards compatibility (http://blogs.msdn.com/oldnewthing/archive/2006/04/10/572491.aspx) has been enormously beneficial to users and Microsoft.  However, as is clear to readers of this blog, it also means that Windows is full of cruft and third parties (and Microsoft, for that matter) have at least one less disincentive to write clean software that follows the rules.  Thus, it’s not clear what the "right" answer always is w/r/t backwards compatibility; what’s "right" for Microsoft may be "wrong" for others.  Where someone suggests a solution that is not consistent with your or Microsoft’s policy ideals that does not necessarily suggest idiocy.

  49. Raymundo Chennai says:

    "[Good comments stand on their own. Would you prefer that I respond to good comments with "Good comment"? -Raymond]"

    Yeah, if it’s particularly good.  Because of idiocy or ignorance, sometimes I can’t tell if a suggestion is good as it sounds.  (And I work under the assumption that you don’t have time to diss every bad idea that appears here.)

    Also, don’t you ever see a comment which is good, but to which you have something substantive to add?

  50. Alexey says:

    [Allow me to be more precise. “Files beginning with a period and containing no other periods are considered to have an extension but no name.” I simplified the rule for expository purposes. -Raymond]

    I am not sure about XP, but Explorer in Windows 2000 does follow the simple rule. It will not allow a file name that starts with a period, even if it contains other periods.

    However, Explorer in Vista allows file names that start with a period and contain other periods, while also stripping trailing periods. Thus, on Vista to create a file named “.htaccess”, one only needs to type “.htaccess.”.

    [Allow to be even more precise. “Files beginning with a period and containing no other periods are considered, by the rules regarding file name parsing to have an extension but no name. It may be the case that not all programs adhere to these rules.” -Raymond]
  51. Yuhong Bao says:

    "However, Explorer in Vista allows file names that start with a period and contain other periods, while also stripping trailing periods. Thus, on Vista to create a file named ".htaccess", one only needs to type ".htaccess."."

    That is a good thing, because Subsystems for UNIX-based Applications is part of Vista Enterprise and Ultmate and lets you run Windows apps on Vista.

  52. Yuhong Bao says:

    "Windows apps on Vista."

    Unix apps on Vista.

  53. Johan Noodlebrock says:

    [I actually inserted that phrase in an attempt to be more polite. As in “I’m acknowledging that you’re smart enough to have known this without me having to point it out, but I’d like you to elaborate”. Without it, it’d have been “You idiot, you forgot this.” -Raymond]

    RC, how fluent do you consider yourself to be in English? Most of your blog entries are written exceptionally well, but comments like these seem to point to a fundamental misunderstanding about the English language.

    [I consider myself reasonably adept at the language. I take it from the reaction that in the future, I should just say, “No, you failed to take into account <X>” (not giving them the benefit of the doubt, even if X is something obvious) instead of “I’m sure you took <X> into account. Would you care to share your analysis with us?” -Raymond]
  54. Johan Noodlebrock says:

    [I consider myself reasonably adept at the language. I take it from the reaction that in the future, I should just say, “No, you failed to take into account <X>” (not giving them the benefit of the doubt, even if X is something obvious) instead of “I’m sure you took <X> into account. Would you care to share your analysis with us?” -Raymond]

    You could just simply ask “What would you do about <X>?”. Why would it matter to you if they had thought of a resolution to every possible case that should come up? If they haven’t, they might think of a solution on the spot, or see that such a case could not be resolved by the way they suggested, or that the current method is the best way to handle the case.

    [Good comment. -Raymond]
  55. Dean Harding says:

    "A meta point about Chen’s douchebaggery"

    "As a simple matter of being a decent human being, shouldn’t we avoid being condescending when possible?"

    So you can be a douchebag, but Raymond is not allowed? This is Raymond’s blog, you are a visitor. Why would the visitor have more right to be a douchebag than the host?

    If you feel it’s inappropriate for Raymond to be a "douchbag" (whatever that means) then how can you possibly believe it’s appropriate for YOU to be one?

  56. Cooney says:

    RC, how fluent do you consider yourself to be in English?

    Riiight…

    RC is from New Jersey, his english is just fine, and yes, he is that sarcastic in real life. What boggles me is how you got here from a discussion about explorer’s rules concerning files names .[a-zA-Z]+

  57. There are lots of valid reasons to create filenames beginning with a dot.

    If the problem is only for *known* extensions then explorer blocking *all* filenames that start with a ‘.’ seems ‘overzealous’ (and yes, very annoying).

    [What is an unknown extension today may become a known extension tomorrow. I’m sure you considered this and am curious how you intend to address it. -Raymond]
  58. Miral says:

    @Ben: When faced with "FunInTheSun.jpg.exe" the use with "Hide extensions" turned on will see "FunInTheSun.jpg" with a type of "Application".

    If the user truly doesn’t comprehend file extensions, the ".jpg" bit will be meaningless and they’ll just think "oh, that’s an Application".  It will also have an application icon, not an image icon.

    This assumes of course that whatever program they’re using to see the file shows the file type and icon — email clients are a bit sporadic about this, which doesn’t help matters any.

    So the ".jpg" bit will only trick people who already know enough to recognise extensions and know what they mean — and most of those probably already turned off "hide file extensions".

    At the end of the day, though, if you tell people that to see the dancing bunnies they just need to double click on the attachment, then many people will do just that — without further thought and regardless of how many obstacles you try to put in their way.  They want to see those dancing bunnies, dammit, and they won’t take no for an answer.

  59. J says:

    "The problem I have here is that hiding extensions for users that find them confusing, only comes full circle to bite the user when they stumble into a file that looks like (yes, this poor name) FunInTheSun.jpg.exe."

    When I create a file called FunInTheSun.jpg.exe on my desktop, it shows up as "FunInTheSun…" because the name is too long to show the rest.  Single clicking shows the name, but something tells me most users will double click it to open it.

    Want to defeat the user viewing files in a list view?   Name it "Fun In The Sun – A funny image showing cute panda bears playing at the San Francisco zoo with cute babes in the foreground.jpg.exe".

    At least the Details view shows the Type, but I’d guess most people are like me and ignore that column if they think they already know what type it is.

  60. Centaur says:

    Until Windows has a way to make *all* newly created files non-executable by default (requiring a moral equivalent of chmod +x before they can be executed), it is in the best interest of grandmae all around the world to have extensions always displayed and learn to distinguish potentially highly malicious extensions (.pif, .scr) from exploitable extensions (.doc, .ani) from safe ones (.txt and that’s about it).

  61. Nick says:

    [Good comment. -Raymond]

    Funniest reply ever.

  62. Raymundo Chennai says:

    @Dean Harding:

    "So you can be a douchebag, but Raymond is not allowed? This is Raymond’s blog, you are a visitor. Why would the visitor have more right to be a douchebag than the host?"

    1) Raymond is allowed to do whatever he wants with his blog.  He lets people post comments which enables me to write whatever I want.  Raymond is further allowed to edit or remove such comments as sees fit.  I am not saying Raymond cannot be a douchebag. I am saying he should not be a douchebag because his blog will be better if he’s not so nasty all the time.

    2) If you think my calling him a douchebag makes me a hypocrite, fine.  Whether or not it does has no effect on the validity of my points — though I understand that it might reasonably make you less likely to agree with me.  I thought of it more as standing up to a bully.

    As a more general matter, I don’t think it’s unreasonable to hold bloggers and commentators to those blogs to different standards.  In vaguely analogous context, many letters to the editor of newspapers are printed whose content would be completely inappropriate if it was written by the newspaper’s editors or reporters.  You, of course, are free to argue that people writing comments owe Chen a greater duty than he owes them.  I happen to feel otherwise.

    At any rate, Raymond, I want to apologize for calling you a douchebag.  I really feel like I am pointing out a serious shortcoming in your blog and clearly my using that term has undermined my point, at least with some readers.

  63. Adam says:

    Any idea why you can’t create a folder named "con" or a file name "con.{extension here}"?

  64. Raymundo Chennai says:

    "[Allow to be even more precise. "Files beginning with a period and containing no other periods are considered, by the rules regarding file name parsing to have an extension but no name. It may be the case that not all programs adhere to these rules." -Raymond]"

    Can you add one more piece of precision: where are the "rules regarding file name parsing" codified?  The best I could find was an article called "Naming a File" in the PSDK documentation that states, "Use a period (.) to separate the base file name from the extension in a directory name or file name."  This statement is ambiguous since an affirmative command to use a period to delimit the file’s extension is not the same as a command to ONLY use it for that purpose.

    Indeed, later in the same block of the article it says, "Use a period (.) as a directory component in a path to represent the current directory."  

    Maybe this is an expressio unius est exclusio alterius situation, but it doesn’t feel that way, particularly in light of the specific prohibitions on certain types of file names mentioned in the article.  ("Do not use the following reserved device names for the name of a file: CON, PRN, AUX, NUL, COM1, COM2, COM3,…. Also avoid these names followed by an extension…")

    And, no doubt reflecting ample amounts of both ignorance and idiocy, if this was really the rule, why wouldn’t Windows enforce it at the API level?

    Whatever the answer, this seems like a rule that’s more honored in the breach — I just checked and even Word 2003 will let me name a file with a leading period.  As such, I don’t think altering Explorer’s behavior really amounts to changing the rules after the game has ended.  At least, it’s on a whole other level than adding new error codes.

  65. Zathrus says:

    >So does the dot still have a special meaning in ‘modern’ Windows OSes and NTFS ?

    Yes. On most OS’s (Windows-derived or *NIX-derived) you can use C-API functions like basename(), dirname(), etc. to get the base filename and directory name for a given file. In general, you can do a strrchr(‘.’, basename(foo)) to get the extension of the file, if any.

    >And are they still used to determine what application to run on double-click instead of using metadata in the filesystem ?

    What metadata? This is not a Mac. There is no metadata. Rename a .doc to .txt and watch Windows attempt to open it with Notepad. *NIX based systems _generally_ do a better job because they don’t rely solely upon the extension:

    cp vim-7.0.000-2.el4.kb.src.rpm v7.txt

    file v7.txt

    v7.txt: RPM v3 src i386 vim-7.0.000-2.el4.kb

    *NIX generally (though not always; depends on if the programmer had a clue or not) examines the first two bytes of the file and looks it up in /etc/magic to determine what kind of file it actually is. Of course, this can lead to hacks as well — mv backdoor.sh README.txt   and then wait for someone to A) not notice that README.txt is executable, B) has enough privledges to make it worthwhile. C) Double clicks on README.txt instead of opening it in an editor.

    > The convention of leading-dot-files-are-hidden comes from a completely operating system. In Windows, if you want a hidden file, you set its hidden attribute. If you want UNIX, you know where to find it.

    And you (and the other poster) miss the point entirely — some of us work in both worlds, and need files with leading dots. We don’t expect them to be hidden, but the fact that Explorer can’t create them directly is a (minor) annoyance. Honestly, I can’t say I’ve ever run into it, because that’s just not how I create new files (particularly from a Unix point of view).

    And, yes, the default behavior of Explorer to hide "known" extension types is a security hole since someone double clicking on README.txt.bat is unlikely to get what they want; and the default executable and lack of user/admin privledge separation (prior to Vista) mean that it’s quite different from the situation above.

  66. MadQ says:

    One could argue that the name of a file called ".dot" should be pronounced "full stop dot," whereas "·dot" (which is perfectly acceptable to Explorer) could be pronouced "dot dot." Too bad human beings aren’t too keen on open standards like Unicode.

    Pre-emptive snarky URL: http://www.reference.com/browse/all/sardonicism

  67. Raymundo Chennai says:

    Interestingly, I just tried to make "COM1.txt" in Explorer and I get the error "Cannot rename New Text Document: A file with the name you specified already exists.  Specify a different file name." and it leaves me with "New Text Document.txt" in the directory.

    If I try to create the directory "COM1," I get no error but the directory remains "New Directory".  

    If I try to save a file from Notepad called "COM1" it tells me that’s the reserved name of a device.  If I try "COM1.txt" it tells me the file already exists and asks if I want to replace it.  If I say yes, I get an error telling me that it cannot be created.

    Fascinating and weird!

  68. Raymundo Chennai says:

    [I consider myself reasonably adept at the language. I take it from the reaction that in the future, I should just say, "No, you failed to take into account <X>" (not giving them the benefit of the doubt, even if X is something obvious) instead of "I’m sure you took <X> into account. Would you care to share your analysis with us?" -Raymond]

    You’re creating a false dilemma.  Why does your response need to assume that the poster did or did not take into account <X>?  There are perfectly courteous ways of getting at the same idea: 1) "How would you handle <X>?"; 2) "This might work if you can deal with <X>. How would you do that?"; or even "I don’t think this will work because of <X>."

    All of those manage to avoid both condescension and rudeness and invite the poster to clarify his idea (or acknowledge that it doesn’t stand up to scrutiny).  

    I simply don’t see any downside to approaching things without assuming that the poster has things right or wrong.  If I’m missing something, though, I am always open to changing my opinion!

  69. Johan Noodlebrock says:

    Raymundo Chennai (If that is your real name :O): http://msdn2.microsoft.com/en-us/library/aa365247.aspx

  70. mh says:

    "No, File extensions are not confusing to grandmas. After she has seen a few extensions, she likes how she can see the type of the file…"

    It’s a nice theory, but unfortunately it doesn’t work in the real world.  In the real world, many users just don’t even *want* to learn: they expect to be spoonfed virtually everything, primarily because over the past 15 years or so they’ve come to believe that a computer is a domestic commodity like a microwave or a VCR.

    I can’t imagine it would be *too* difficult to add a special case check to the Explorer code to determine if the name begins with a "." and act accordingly, but of course I have no idea what havoc would ensue elsewhere in the OS (or in 3rd party apps) and may well be talking out of my nether regions. :)

  71. Raymundo Chennai says:

    @Johan: thanks for the link; that’s what I was referring to in my above post (though I was looking at my installed documentation).

  72. Raymundo Chennai says:

    Let me clarify what I said at 9:49:

    The problem I have with Raymond’s interpretation of the rules (if the document linked by Johan is what Raymond is referring to) is that it opens by saying that "all file systems follow the same general conventions: a base file name and an optional extension, separated by a period."  

    As I see it, this means there are two options for a file name under the rule:

    1) a file name made of a "base file name" (BFN) only

    2) a file name made of the BFN plus an extension, separated by a period.

    So it actually seems CONTRARY to the rules to treat a file like ".htaccess" as "hav[ing] an extension but no name" since it doesn’t fall into one of the two allowable categories (as I understand them).  However, treating it has having no extension places it in category 1.

    And there’s nothing truly magical about having a period in a BFN, right?  Under all interpretations "this.is.a.text.file.txt" is perfectly valid.  Even Explorer is on board for that one.

    I’m really not just arguing this for the sake of it or trying to be petulant.  I really do read the rules this way.  My reading may be wrong, but I really don’t think there is nothing strange about it.  

  73. CM says:

    @ivo: Oscar’s File Renamer works like that.

    http://www.mediachance.com/free/renamer.htm

    "It will also have an application icon, not an image icon."

    Except that EXE files contain their own icons, they don’t all share the same icon.

    The *.jpg.exe filename isn’t even necessary if extensions are hidden, just embed the icon used for JPG files and "user x" won’t know the difference.

  74. CM says:

    PS: I love this blog and I believe it would be very boring if Raymond were forced to have no personality at all.

  75. Ben says:

    The problem I have here is that hiding extensions for users that find them confusing, only comes full circle to bite the user when they stumble into a file that looks like (yes, this poor name) FunInTheSun.jpg.exe.  Maybe it arrived via email, USB drive, download, whatever, that doesn’t really matter.  Now, the user, that "can’t understand extensions in the first place", has been dumbed-down by hidden extensions and thinks this is an image.  Yeah, let’s double click on FunInTheSun.jpg, that’ll be great.  Maybe they get a warning of some sort, maybe not.  Perhaps they were tired of all the preventative warnings they see and disabled them, or maybe they just mindlessly click through them.

    Either way, here is a juicy point of vulnerability.  Does this seem farfetched?  What percentage of people fall victim to this? 1%, .5% less?  With Window’s user base, that’s a lot of people, a lot.

    I’m not trying to blame Window’s or the user, perhaps this is a UAT issue.  At what point do we say, yes, this *might* simplify things, but at what cost?  The reality is that no matter how simple you make something, someone is going to have a problem with it.

    I love the local cable ads "Power down, power up

    ".  I wonder how many service related phone calls it took where the resolution was, power down the cable modem, the router and the PC, now turn them back on, is it working now?  Before they made this commercial?

  76. It looks like in WinXP, explorer does not allow any filename which has a period at the end of the name. But here it goes a step further: it creates the file/folder with that name but deletes the period at the end. If for example you create “xyz.” it makes a file named “xyz”

    I believe this is because the explorer thinks that the file has no extension and therefore relieves it of the period at the end too. But this is more graceful than saying “You must type a file name.” for files starting with a period.

    [It’s not Explorer that’s removing the trailing period. It’s Win32. Try it from a command prompt. -Raymond]
  77. James says:

    Not to nitpick, but file(1) on UNIX doesn’t work like the poster above claims it does, its not as simplistic as just looking at the first few bytes of the file to determine its type.

    Refer to http://linux.die.net/man/5/magic for the magic file format.

    Essentially, you can have N number of tests based on the data at numerous offsets O1..On in the file in order to determine the type of the file.

    How did you think it was able to determine the version of the RPM package file and the type of RPM package? Simple, by seeking to the offset in the file where the version number was stored, and interpreting it as an int/long/whatever, and seeking to the offset where the package type was stored, and so on.

  78. Paul says:

    This is only loosely related to this topic, but I am curious and I’m sure others are as well. Why are certain file extensions (e.g. .pif, .shs) hidden even if the option to hide known extensions is turned off?

  79. Johan Noodlebrock says:

    [Good comment. -Raymond]

    Are you saying that because you honestly believe my comment was good, to demonstrate the impracticality of the suggestion you inferred from Raymundo Chennai’s earlier comment, to openly mock said inference, or for some reason so indescribably snarky that if exposed would cause the universe to collapse in-on itself?

    [I thought it was a good comment, and thought I’d give this “Good comment” thing a try. -Raymond]
  80. CM says:

    Look in HKEY_CLASSES_ROOT. Any file extension that has a key called "NeverShowExt" will have its extension hidden all the time.

    As for WHY those extensions where chosen to be hidden all the time? I dunno, I guess those file types are just on double-secret probation or something.

  81. GreaseMonkey says:

    Hmm… that gives me an idea…

    Although being unable to create a .htaccess file is stupid.

  82. Pax says:

    Quoth the Adam:

    Any idea why you can’t create a folder named "con" or a file name "con.{extension here}"?

    I was bitten by this when I shortened the const.h file to con.h (big woop, saving two keystrokes per C source file) and, when I tried to compile it, it (the compiler) ran forever because it was trying to read the header file from the console ! WTF!

    Turns out all these devices (con:, lpt1:, nul:) don’t care about the extension (or at least the functions that were being called by the compiler didn’t).  They just opened the device.

    That turned out to be a neat trick to see if a drive existed in BAT files:

    if not exist x:nul goto not_there

    or something like that.

    Cheers,

    Pax.

  83. ChenFan1234 says:

    I love you, Raymond. I’m sorry people are so mean on your blog comments.

    *hugs*

  84. SuperKoko says:

    TimHollebeek wrote:

    "Implementing "Hide known extensions" was definitely a mistake."

    Not hiding file extensions has issues too. When renaming a file, you may accidentally remove the file extension.

    About file names starting with a period. Windows NT has a POSIX subsystem and has to interoperate with *NIX systems. So, it’s good that the system is able to create files starting with periods. I don’t really care whether Explorer allows or forbid that, since the OS allows that.

    Ben wrote:

    "Now, the user, that "can’t understand extensions in the first place", has been dumbed-down by hidden extensions and thinks this is an image"

    Usually, file types are easily recognized by their icon… Well, actually, an executable can easily reuse the icon of a JPEG file…

    Well, but there’s the file type in "Tile view mode" (assuming he is using this mode)… Unfortunately, spoofing is easy too.

    Anyway, I believe that showing file extensions wouldn’t change things much.

    The same use would probably execute a file named FunInTheSun.jpg.exe, because it has an image icon.

    From PM by J:

    "

    When I create a file called FunInTheSun.jpg.exe on my desktop, it shows up as "FunInTheSun…" because the name is too long to show the rest.

    "

    How is it different with file extensions showed?

    From Adam:

    "

    Any idea why you can’t create a folder named "con" or a file name "con.{extension here}"?

    "

    http://blogs.msdn.com/oldnewthing/archive/2003/10/22/55388.aspx

  85. Chris Oldwood says:

    I discovered this behaviour of Explorer when making sure our application met the "Designed For Windows 95" logo program. One requirement was that you supported the creation and reading of files with a leading ‘.’.

    I was therefore bemused by the fact that the Windows 95 Explorer didn’t meet the requirements of the Windows 95 Logo!

    I was a lot younger then, and in hindsight, perhaps I misread the requrements…

  86. AQ says:

    Johan Noodlebrock and Raymundo Chennai,

    Will you two give it a rest and STFU?

  87. mvadu says:

    @Karellen

    I did read the post. Ray was mentioning about files like .access, and I said even .someting.txt is also not possible through Explorer UI.

    More over http://msdn2.microsoft.com/en-us/library/aa365247.aspx says

    Do not end a file or directory name with a trailing space or a period. However, you can start a name with a period.

    But Explorer coders did not adhere to this rule.

  88. thras says:

    File name extensions are confusing to Grandma. So are their lack. Has anyone else had to explain to a user that the file that they named "important.txt" is actually "important.txt.exe" but windows is helpfully hiding the .exe, which is why nothing works for them?

    Hiding file name extensions was a happy idea that didn’t work in implementation and should have been ditched several service packs ago.

  89. Raymundo Chennai says:

    @AQ

    Why?  I’m still genuinely trying to understand where Raymond is getting his rule.

  90. jcs says:

    thras: How on earth would Grandma accidentally create a file called important.txt.exe?

    Remember, Notepad will automatically append ".txt" to the end of any filename you type, even if it looks like you’re trying to override the default extension. (This behavior can be overridden by selecting Save as Type > All Files)

  91. anonymous says:

    Raymond, you have obviously missed that the "hide known extensions" is the real problem. There is simply no other serious way to tell the file type other than by the extension.

    One people suggest taking the icon. Fine, wonderful, EXE files allow you to choose arbitrary icons. Looks like a text, but once you double click it, it goes boom very badly.

    Other people, like you, suggest letting the system determine it. But how? Holding the mouse cursor over it for every file? Wastes time and goes boom on WMF and AVI. Always having the detailed view turned on? Wonderful waste of space, when in the default view 5 rows of files would easily fit into there. Also wastes time, because Explorer parses various properties on certain file types. What if the system doesn’t know it, or the association is broken, or hasn’t been created yet?

    (And not just to mention Windows Vista, which allows the attacker to even spoof the file extension as well using arbitrarily created desktop.ini files. This one is a lost case.)

    @David Brooks:

    SFU has no problems with this, since it doesn’t run in the Win32 subsystem, so there’re no reserved names. Also even there you can deal with it by simply unpacking it to a different name and then renaming it using UNC paths (ren foo.c .%cd%aux.c).

  92. mh says:

    "There is simply no other serious way to tell the file type other than by the extension."

    Check the first few bytes of the file against a list of known patterns (stored in the registry so as to be extensible) and set Explorer’s display accordingly.  Fall back on extension if the info isn’t available.  Need only be done when a file is created or is saved as part of the save operation.  Can be stored in the file system.

    Raymond dealt with the "reserved file names" question a long time ago, by the way – http://blogs.msdn.com/oldnewthing/archive/2003/10/22/55388.aspx

  93. Mikkin says:

    What were you thinking Raymond? You simply cannot post anything at all on a topic like this without eliciting great gobs of snarkiness and nittpickery. You might as well have concluded with "If it really bugs you, you are free to write your complaints to oldnewthing#comments."

  94. poef says:

    "Check the first few bytes of the file against a list of known patterns (stored in the registry so as to be extensible) and set Explorer’s display accordingly."

    Great, try that with a remote folder containing 10000 files. See if you still like the idea.

    Because this is a real problem, Nautilus makes a distinction between local and remote files when making thumbnails. But nautilus can’t really know for sure if a directory is local or not, for instance when using fuse (user-space filesystems).

  95. SuperKoko says:

    "But nautilus can’t really know for sure if a directory is local or not"

    It can easily know whether accessing files is slow or not, simply counting the number of files opened after 200 milliseconds, for example. That’s actually what counts. A fast network is ready for thumbnails. A floopy disk isn’t.

    However, having a variable, inconsistent behavior isn’t acceptable. Just think about it: Refreshing a directory will typically show more thumbnails (since cache would speed up accesses)… This would look like a bug for thumbnails. This would be awful for file types…

    The type of a file mustn’t depend on speed (or networking) factors.

    For thumbnails, lazy initialization (computing & rendering thumbnails only for objects visible in the current window frame) would partially solve the problem.

  96. poochner says:

    @NUXI: Of course spaces in filenames are the evilest things ever created.

    No.  Control characters in filenames are the most evil things ever created.  Especially that pesky ^H that shows up on UNIX systems when the erase character isn’t set properly, and you’re using a shell that doesn’t handle line editing on its own, etc.  You can look at the file in the ls all you want, but it still *looks* right because it’s backspacing over the typo you made when you created the file, just like you backspaced when you "fixed" the typo.  That’s why ls has the -b option.  Now that’s evil.

  97. David Brooks says:

    Since there is a side-thread that’s rehashing the filesystem’s theft of a whole class of reasonable names (con.*, aux.*…) – I once extracted a zip file of sources created on a UNIX system, and spent a while puzzled over what had happened to the auxiliary functions, all in the reasonably named "aux.c". I used a UNIX system to extract and rename it. Does SFU handle those cases properly (as in: I’m too lazy to find out)?

  98. Matt says:

    You forgot the preemptive snarky comment:

    Yes… the confusing and useless .htaccess file.

  99. V. Garg says:

    People who raise a query about reserved file names, (con, lpt, aux etc), don’t you think a search engine is a great way of finding out? Check out the first link returned by this:

    http://www.google.co.in/search?source=ig&hl=en&rlz=&q=con+lpt+site%3Ablogs.msdn.com%2Foldnewthing&meta=

    Hope that helps!

  100. Nick Lamb says:

    The NT kernel was designed by mostly sane people and as such it mostly avoids trying to do anything impossible (this might seem like an obvious design rule for fundamental system code, but it’s escaped people before, ask the poor chaps at Apple)

    So, the NT kernel doesn’t care about filenames, they’re just arbitrary strings of non-zero 16-bit codes. 0xFFFF is a perfectly good filename so far as NT is concerned.

    But, Win32 comes from Raymond Chen’s world, where attempting the impossible and failing is sometimes considered a good idea (since it might make a customer happy, at least temporarily). So it adds a bunch of confusing name constraints in the hope of avoiding compatibility problems both real and imagined. Some of this stuff is bolted into the Win32 APIs (where it’s hard to avoid using it) and some of it is in the shell, or in standard dialogs, or just haphazardly bolted in wherever it solved a problem for someone.

    Thus what actually happens (despite the best intentions of Raymond and many others) is that consistency goes out the window, and users find out quickly enough that Windows "doesn’t like" some filenames, and they either learn to be very conservative about naming files to avoid these mysterious problems, or the spend a lot of time talking to helpdesk. This "learned avoidance" helps to mask further bugs to some extent. In a very real sense 8.3 filenames never went away on Windows.

    [ Of course Unix users have their own "learned avoidance" you won’t see a Unix hacker casually put spaces into a filename, because he’ll be worried that someone else forgot to quote that parameter in a shell script and it’ll break nastily ]

  101. Stephen Jones says:

    Hiding file extensions is rightly the default.

    Anybody who wants to change it should be obliged to field all calls from people who have deleted the file extension and now can’t open it with a double click.

  102. Paul says:

    @Stephen Jones

    Great, and you can field the calls from people who have run an EXE disguised as a JPG file with a .jpg.exe extension.

  103. Stephen Jones says:

    —-"Great, and you can field the calls from people who have run an EXE disguised as a JPG file with a .jpg.exe extension."—-

    Anybody knowledgeable enough to distinguish between .jpg and .exe would have changed the default settings anyway. And if the default showed them both sombedy unknowledgeabe would still have clicked it.

  104. Criterion says:

    The real problem about showing extensions for grandma is not really the .doc that magically appears at the end. It’s the fact that when you try to rename the file, the whole filename is selected by default. Then grandma starts typing a new name (without keeping the original extention, because she doesn’t know what it is), and see a prompt saying: "If you change a file name extension, the file may become UNUSABLE."

    Grandma will be like "wtf? NO" and will never try to rename a file again.

  105. Bob says:

    Hmmm… I beginning to see a pattern. MS finds a problem in their system ("Can not remotely configure file server!" in one of the past posts, "File with dot at the beginning can disappear!" now) and instead of fixing it properly, they just add a hack ("C$", "Explorer will not allow that.") that is inconsistent and/or dangerous and/or fixes only the part of the problem, but hey, it kinda works…

  106. Dean Harding says:

    Oh wise and venerable Bob, please share with us the perfect solution to those problems that all the engineers at Microsoft were too dumb to see for themselves!

    Or maybe the answer is SO obvious that it’s beneath you to explain?

  107. update says:

    [Once we invent the time machine we can implement your rule change. -Raymond]

    No need for a time machine when M$ has windows update and can force paches down it’s customers throat.

  108. Atle says:

    Here is the behaviour I would expect.

    If "Hide extensions for known…." is checked:

    Only accept no name from files with an unknown extension (like .htaccess)

    If "Hide…" is not checked:

    All no name files should be accepted.

  109. Niels Ebbesen says:

    [If "Hide extensions for known…." is checked: Only accept no name from files with an unknown extension (like .htaccess)]

    Ah, we appear to have come full circle.

    Blog Nirvana?

Comments are closed.