$ env:PSModulePath与%PSModulePath%

时间:2015-04-17 07:57:11

标签: powershell

为什么cmd.exe显示PSModulePath的值与PowerShell不同?

的PowerShell:

\\share\user\WindowsPowerShell\Modules;
C:\Program Files\WindowsPowerShell\Modules;
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\

CMD:

C:\Windows\system32\WindowsPowerShell\v1.0\Modules\

enter image description here

2 个答案:

答案 0 :(得分:2)

环境变量似乎在执行时被“修改”(更改未保存到系统中)。 从powershell控制台中运行cmd应该可以正常工作:

PS>cmd /c echo %psmodulepath%

答案 1 :(得分:0)

无论何时启动PowerShell,它都会为该会话创建一组环境变量。这些都可以在$ env(例如$ env:PSModulePath)下找到。这里有一组默认值。这些默认值是硬编码的,但您可以通过在其中一个配置文件脚本位置更改它们来修改这些默认值。

对于CMD.exe,无论何时启动它都会创建环境变量,但是它的环境变量是从OS环境中提取的。

转到“控制面板” - >系统 - >高级设置 - >高级选项卡 - >环境变量