程序文件环境变量在Windows中给出不同的结果



当我在命令提示符下set programfiles运行命令时,我得到

ProgramFiles=C:Program Files (x86)
ProgramFiles(x86)=C:Program Files (x86)

但是,python中的以下代码

import os
print os.getenv("programfiles")

msgbox %A_ProgramFiles% and %ProgramFiles%

在自动热键中

$env:ProgramFiles

在PowerShell中

所有结果都C:Program Files

我不明白为什么我在 Windows 中的程序文件环境变量得到不同的结果

您看到的是 32 位和 64 位应用程序之间的区别。

32 位 cmd.exe ( %SystemRoot%SysWOW64cmd.exe

C:>set programfiles
ProgramFiles=C:Program Files (x86)
ProgramFiles(x86)=C:Program Files (x86)

64 位 cmd.exe ( %SystemRoot%System32cmd.exe

C:>set programfiles
ProgramFiles=C:Program Files
ProgramFiles(x86)=C:Program Files (x86)

32位电源外壳.exe ( %SystemRoot%SysWOW64WindowsPowerShellv1.0powershell.exe

PS C:> dir env:programfiles*
Name                           Value
----                           -----
ProgramFiles(x86)              C:Program Files (x86)
ProgramFiles                   C:Program Files (x86)

64 位电源外壳.exe ( %SystemRoot%System32WindowsPowerShellv1.0powershell.exe

PS C:> dir env:programfiles*
Name                           Value
----                           -----
ProgramFiles(x86)              C:Program Files (x86)
ProgramFiles                   C:Program Files

最新更新