Find out what I'm doing, Follow Me :)

Saturday, January 22, 2011

Why folders with the name CON can’t be created in Windows??

Hey Guys

Some people don’t know why they can’t create it?

Very few know that they can still create it someway. But don’t know why are they supposed to do exactly like that.

Now, After reading this tutorial, you will become one of the rest

Type 1:

Not only CON, we cannot create any of these
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9 and more

The reason is that con, prn, lpt1..lpt9, etc are underlying devices from the time dos was written. so if u r allowed to create such folders, there will be an ambiguity in where to write data when the data is supposed to go to the specified ugydevices. In other words, if i want to print something, internally what windows does is — it will write the data to the folder prn (virtually u can call it a folder, i mean prn, con, etc are virtual folders in device level). So if we are able to create con folder, windows will get confused where to write the data, to virtual con folder or real one.

So Now, Try this…

Open the Command prompt by Start -> Run and type cmd


C:\> md \\.\c:\con

Now, Open My Computer and browse through the path where you created CON folder…

Surprising?? Yeah, you have created it successfully

Now, try to delete the folder from My computer

OOPS!!! You can’t delete it…

Now, try this in command prompt console


C:\> rd \\.\c:\con

Yeah!! You did it…
__________________________________________________ __________________________

Type 2:

Well, let us now have a glance at how we were able to create it…

It is just because of the UNC Path (Universal Naming Convention). The Universal Naming Convention, or UNC, specifies a common syntax to describe the location of a network resource, such as a shared file, directory, or printer. Since, these conventions didn’t exist under pure DOS, they are not backward compatible. The UNC syntax for Windows systems is as follows.


Where RemoteHost is the computer name / IP address of the computer that you wish to connect through remotely for accessing shared folder. The rest is the path.

(Here \\remotehost\drive:\con doesn’t make sense anyway, because without having a process on the remote host, there is no current ‘console’). It would be a security hazard as well, having the serial and parallel ports accessible for everyone who is allowed to read or write in any single directory.

The ” .” in the command \\.\c:\con suggest the local server. Now, you are pointing to your own computer. Since, you have all privileges on every folder of your computer, you can easily create it.

No comments:

Post a Comment