为何PowerShell输入错误命令时会显示额外CommandNotFoundException?
PowerShell输入未识别命令时额外报错信息的原因与解决方法
原因
你看到的CategoryInfo和FullyQualifiedErrorId是PowerShell默认错误输出(NormalView模式)的标准组成部分,这类元数据是给进阶用户或开发者排查问题用的,用来明确错误类型和ID,但对日常使用的新手来说属于冗余信息。
解决方法
临时生效(仅当前会话)
在PowerShell中执行以下命令,切换到简洁错误视图:
$ErrorView = 'ConciseView'
之后输入未识别的命令,只会显示核心错误提示,不会再出现那两行冗余信息。比如执行thisIsATest会输出:
thisIsATest : The term 'thisIsATest' is not recognized as the name of a cmdlet, function, script file, or operable program.
永久生效(所有新会话)
如果想让设置永久生效,需要修改PowerShell的配置文件:
- 先检查配置文件是否存在,执行:
Test-Path $PROFILE
- 如果返回
False,创建配置文件:
New-Item -Path $PROFILE -ItemType File -Force
- 打开配置文件编辑(会用默认文本编辑器打开):
notepad $PROFILE
- 在文件中添加一行
$ErrorView = 'ConciseView',保存后关闭编辑器。 - 重启PowerShell,设置就会自动生效。
内容的提问来源于stack exchange,提问作者Jerre
相关产品推荐
相关产品推荐

