【问题标题】:Program Files Environment Variables giving different results in Windows程序文件环境变量在 Windows 中给出不同的结果
【发布时间】:2016-07-09 05:38:49
【问题描述】:

当我在命令提示符下运行命令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 中的 Program Files 环境变量得到不同的结果

【问题讨论】:

  • ProgramFiles x32 和 x64 进程之间的环境变量差异。

标签: windows powershell environment-variables command-prompt program-files


【解决方案1】:

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

32 位 cmd.exe (%SystemRoot%\SysWOW64\cmd.exe)

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

64 位 cmd.exe (%SystemRoot%\System32\cmd.exe)

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

32 位 powershell.exe (%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe)

PS C:\> dir env:\programfiles*

Name                           Value
----                           -----
ProgramFiles(x86)              C:\Program Files (x86)
ProgramFiles                   C:\Program Files (x86)

64 位 powershell.exe (%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe)

PS C:\> dir env:\programfiles*

Name                           Value
----                           -----
ProgramFiles(x86)              C:\Program Files (x86)
ProgramFiles                   C:\Program Files

【讨论】:

    猜你喜欢
    • 2011-05-22
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 2015-04-23
    • 2020-10-13
    • 2016-09-17
    相关资源
    最近更新 更多