Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Why are some of Windows environmental variable names in Proper case, while most are in UPPERCASE? What is the reason that windir alone is in lowercase?

Get-ChildItem Env:

Name                      Value
--------------            --------------- 
ALLUSERSPROFILE           C:\ProgramData  
ComSpec                   C:\Windows\system32\cmd.exe 
windir                    C:\Windows
share|improve this question
up vote 2 down vote accepted

Windows 3.11 and 3.0 not see windir in lowercase. Windows 3.11 set WINDIR variable auto after start and del after exit at Windows 3.11 to ms-dos, but not del windir. Lowercase windir need to old program in Windows 95-98 when not see Windows 95-98 directory.WINDIR Environment Variable Set When Running Windows Specifically, windir variable looks for tricks for simultaneous operation of Windows 3.11 and Windows 95-98. Windows NT4 Terminal Server this variable looked like WinDir ... need test ...

MS-DOS COMPSPEC a 16-bits COMMAND.COM and 32-bits command interpreter ComSpec Windows NT, OS/2 history.

Microsoft Windows NT Customization

Understanding the Windows 95 boot Sequence

For the most part well below the hypothesis.

Old UPPERCASE variable - Microsoft QuickBasic problem.

Microsoft QuickBasic Environment Variable Must Be Uppercase in ENVIRON$

New UPPERCASE variable - compatibility with the environment unix. See SKU, SFU tools.

Old ProperCase - MSDOS.SYS Windows 95.


Default environment variable Windows 98, 95:


Environment variable get at AUTOEXEC.BAT, MSDOS.SYS, CONFIF.SYS.

If in AUTOEXEC.BAT write SET DOS16M=2 you see DOS16M=2 in SET command.

Windows 98 environment variable

New Proper case - part link at .Net and powershell style ... may bee it error). Need link ...

There is a way to learn it is quite accurate, prepaprirovav number of installation folders, where are transferring the corresponding folder number and the path that is then used in different parts of the plant, such as Section winnt.sif:

ProgramFilesDir            ="C:\App64"
ProgramFilesDir(x86)       ="C:\App32"
CommonProgramFilesDir      ="C:\App64\CommonFiles"
CommonProgramFilesDir(x86) ="C:\App32\CommonFiles"
SharedFilesDir             ="C:\App64\MSShared"
SharedFilesDir(x86)        ="C:\App32\MSShared"

I think if you consider all versions of windows operating systems and the names of variables to make the right conclusions.

MS-DOS v1.10 (1983), MS-DOS v2.11 (1983), MS-DOS v3.20 (1986), MS-DOS v3.30 (1987), MS-DOS v3.30A (1987) ,MS-DOS v3.30 Plus (1988), MS-DOS v4.01 (1988), MS-DOS v5.00 (1991), MS-DOS v6.00 (1993), MS-DOS v6.20 (1993), MS-DOS v6.21 (1993), MS-DOS v6.22 (1994) - other, part of Windows OS.

share|improve this answer
Thank you for a great piece of research. I don't doubt anything you say, just surprised Path is a new variable in .Net. – Guy Thomas Feb 17 '13 at 16:51
@GuyThomas Imitation of naming classes. Net. Gradually, all refined. – STTR Feb 17 '13 at 16:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .