当我打开 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 相同的错误消息。
为了让它工作,我必须使用维修功能在设置-->应用程序-->应用程序安装程序-->高级选项-->修复中。