Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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:

Sample:
Name                      Value
--------------            --------------- 
ALLUSERSPROFILE           C:\ProgramData  
ComSpec                   C:\Windows\system32\cmd.exe 
COMPUTERNAME              BIGSERVER
windir                    C:\Windows
share|improve this question

1 Answer 1

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 win.com 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.

[Paths] 
WinDir=C:\WIN95
WinBootDir=C:\WIN95 
HostWinBootDrv=C 

Default environment variable Windows 98, 95:

TMP=C:\WIN95\TEMP
TEMP=C:\WIN95\TEMP
PROMPT=$p$g
winbootdir=C:\WIN95
PATH=C:\WIN95;C:\WIN95\COMMAND
COMSPEC=C:\WIN95\COMMAND.COM
windir=C:\WIN95

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:

[Unattended]
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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.