$ PROFILE环境变量有问题吗?

时间:2019-02-28 23:16:59

标签: powershell windows-10 profile

如果我执行

& $PROFILE

我收到此错误

& : The term 'C:\Users\stib\Documents\WindowsPowerShell\
Microsoft.PowerShell_profile.ps1' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name,
or if a path was included, verify that the path is correct and try again.
At line:1 char:3
+ & $PROFILE
+   ~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\stib...ell_profile.ps1:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

$PROFILE.CurrentUserAllHosts找到正确的配置文件。我的设置有问题吗?

1 个答案:

答案 0 :(得分:4)

此行为的原因是使用$Profile.ToString()运算符(即&)调用$Profile.CurrentUserCurrentHost时会调用它的默认选择。

选择性地执行您的个人资料,而不是依赖默认值:

& $Profile.CurrentUserAllHosts

作为脚注,$Profile只是扩展的System.String,具有添加的属性和经过修改的ToString方法。参见:

$Profile | Get-Member -MemberType NoteProperty

此外,除非您将-NoProfile传递给可执行文件,否则在启动该外壳程序时将自动执行适用于您当前外壳程序的配置文件。