为什么 ProgramFiles 变量的值在 cmd.exe 和 PowerShell 中不同?
Why is the value of the ProgramFiles variable different in cmd.exe and PowerShell?
我在 64 位 PC 上使用 Windows 7 Professional SP1。如果我打开 PowerShell 控制台并查看 $env:ProgramFiles,它的值为“C:\Program Files (x86)”。但是,如果我打开 cmd.exe 并查看 %ProgramFiles%,它的值是“C:\Program Files”。
有人能解释一下为什么它们不同吗?我本来希望它们要么是相同的,要么 cmd.exe 是认为它生活在 32 位环境中的那个。
您打开了 32 位 Power Shell: Windows Power Shell (x86)
变量的值取决于调用进程的位数。
如果您打开 32 位 CMD.EXE,(%windir%\SysWoW64\cmd.exe
) %ProgramFiles%
也会指向 x86 文件夹。
我在 64 位 PC 上使用 Windows 7 Professional SP1。如果我打开 PowerShell 控制台并查看 $env:ProgramFiles,它的值为“C:\Program Files (x86)”。但是,如果我打开 cmd.exe 并查看 %ProgramFiles%,它的值是“C:\Program Files”。
有人能解释一下为什么它们不同吗?我本来希望它们要么是相同的,要么 cmd.exe 是认为它生活在 32 位环境中的那个。
您打开了 32 位 Power Shell: Windows Power Shell (x86)
变量的值取决于调用进程的位数。
如果您打开 32 位 CMD.EXE,(%windir%\SysWoW64\cmd.exe
) %ProgramFiles%
也会指向 x86 文件夹。