除非我这样做,否则 winget 不会工作

除非我这样做,否则 winget 不会工作

当我打开 Powershell 并输入 winget 时,这是响应:

温格特: 术语“winget”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。第 1 行,字符:1

  • 温格特
  •   + CategoryInfo          : ObjectNotFound: (winget:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException
    
    
    

建议 [3,General]:未找到命令 winget,但该命令确实存在于当前位置。默认情况下,Windows PowerShell 不会从当前位置加载命令。如果您信任此命令,请改为键入:“.\winget”。有关更多详细信息,请参阅“get-help about_Command_Precedence”。

但如果我进入 winget 所在的文件夹(在我的情况下%应用程序数据%\本地\微软\ WindowsApps \ Microsoft.DesktopAppInstaller_8wekyb3d8bbwe \ winget.exe然后在 winget 前面输入“./” - 一切正常!所以我的问题是,如何指向像 winget 这样的命令来执行上述文件,但从我所在的任何目录中执行?

例如,在 Linux 中我可以使用

别名winget ='%AppData%\ Microsoft.DesktopAppInstaller_8wekyb3d8bbwe \ winget.exe”

它会将命令指向指定的位置。除了在 Powershell/CMD 中,我还能用什么方法做到这一点?

答案1

“如果我进入 winget 所在的文件夹...它前面有一个“./””

相反,只需在 winget 的整个路径前面加上“。”即可。

我没有 winget,但是这会从任何目录在 powershell 中为我启动 acrobat reader:

“C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe”

答案2

我在全新安装的 Windows 10 Pro 22H2 上遇到了同样的问题。使用 Microsoft Store 安装应用安装程序在 PowerShell 中可用winget,但收到与 op 相同的错误消息。

为了让它工作,我必须使用维修功能在设置-->应用程序-->应用程序安装程序-->高级选项-->修复中。

相关内容