32 位 cmd.exe (
64 位 cmd.exe (
32位电源外壳.exe (
64 位电源外壳.exe (
当我在命令提示符下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