You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 11终端PowerShell中Move-Item、mv及Get-Command等核心命令无法识别的问题求助

Windows 11终端PowerShell中Move-Item、mv及Get-Command等核心命令无法识别的问题求助

嘿,我完全懂你现在的烦躁——连Get-Host这种PowerShell基础命令都跑不起来,确实太影响效率了!咱们一步步拆解可能的原因和解决办法:

第一步:先排查是不是NeoVim终端缓冲区的锅

有时候NeoVim的终端会话会加载异常配置,或者默认用了非PowerShell的shell,你可以先做个简单测试:

  • 直接打开Windows Terminal的独立PowerShell窗口(别通过NeoVim),输入Get-Host看看能不能正常返回版本信息。
    • 如果直接运行正常,那问题肯定出在NeoVim的终端设置上:
      • 先在NeoVim里输入:echo &shell,看看当前终端用的是什么shell。如果显示的是cmd.exe或者其他非PowerShell程序,就改成PowerShell:输入:set shell=powershell.exe(对应Windows自带的PowerShell)或者:set shell=pwsh.exe(如果你装了PowerShell 7+)。
      • 也可以试试跳过PowerShell的配置文件启动终端,输入:terminal pwsh -NoProfile,看看是不是你的PowerShell配置文件($PROFILE)里的代码搞坏了命令环境。

第二步:如果独立PowerShell也有问题,排查系统层面的PowerShell故障

要是直接打开Windows Terminal的PowerShell也跑不了Get-Host,那得从系统本身找原因:

  • 检查环境变量PATH:输入$env:PATH,看看输出里有没有包含C:\Windows\System32\WindowsPowerShell\v1.0\(Windows自带PowerShell的路径)或者C:\Program Files\PowerShell\7\(PowerShell 7的路径)。如果没找到,得把这些路径添加到系统环境变量里(右键此电脑→属性→高级系统设置→环境变量→系统变量里的PATH)。
  • 检查执行策略(虽然一般不影响内置命令,但保险起见):如果能运行Get-ExecutionPolicy,看看是不是Restricted,如果是,用管理员权限打开PowerShell,运行Set-ExecutionPolicy RemoteSigned修改(按提示确认即可)。
  • 修复/重装PowerShell:如果上面的方法都没用,试试修复PowerShell。Windows自带的PowerShell可以在「设置→应用→应用和功能」里找到它,选择「修改」;PowerShell 7的话直接下载安装包覆盖安装就行。

额外小提示:试试管理员权限

有时候权限不足也会导致奇怪的命令失效,右键Windows Terminal选择「以管理员身份运行」,再测试命令,说不定能解决问题。

备注:内容来源于stack exchange,提问作者samuelnihoul

火山引擎 最新活动