$env:PSModulePath 与 %PSModulePath% 的区别

3

为什么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


PowerShell 中有 六个配置文件脚本。也许其中一个会修改该值? - vonPryz
我的系统上没有这六个配置文件脚本。 - Matthias Güntert
2个回答

2

环境变量在执行时似乎是“本地”修改的(更改不会保存到系统中)。从powershell控制台中运行cmd应该可以按预期工作:

PS>cmd /c echo %psmodulepath%

0

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

至于CMD.exe,每当它启动时,它也会创建环境变量,但它的环境变量是从操作系统环境中提取的。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接