命令提示符无法找到 Windows 终端,即使它检测到文件的路径

命令提示符无法找到 Windows 终端,即使它检测到文件的路径

有许多 Stack Overflow 问题都会问到这个问题的变体;我已阅读了前 10 个左右,但没有一个能解答我的疑问。

我正在努力奔跑wt.exe通过命令提示符

wt
wt.exe

在这两种情况下,它都会打印错误消息:

The system cannot find the file C:\Users\MyUser\AppData\Local\Microsoft\WindowsApps\wt.exe.

即使当前目录是,它也会这样做C:\Users\MyUser\AppData\Local\Microsoft\WindowsApps

显然它找到了文件,因为它可以从任何工作目录中找出它的路径。我对我自己的用户有权限AppData,而且——我检查过——我对它本身也有权限wt.exe。我也尝试以管理员身份运行它,结果相同。即使从wt它本身运行它也找不到它。

运行code-insiders正常,并且也在AppData。运行where wt返回正确的路径。

奇怪的是,这在我的其他电脑上有效,而我思考它之前一直在处理这个并且实际上停止了(我已经有几个月没有用它了)。

有任何想法吗?

答案1

下面的物体~\AppData\Local\Microsoft\WindowsApps不是文件——它们是执行别名,通过重新解析点实现。它们有点像符号链接或连接点,因为它们只指向特定应用程序包中的另一个文件,尽管它们包含一些有关该包的额外元数据,并且它们仅有的支持正在执行但尚未打开。

但就像符号链接或连接点一样,即使目标不再存在,您仍然会看到链接存在 - 但您无法打开它。

在这种情况下,wt.exe 是一个执行别名,指向 Microsoft.WindowsTerminal 包(或可能指向其“预览”变体)。您应该确保该包确实已安装:

Get-AppxPackage Microsoft.WindowsTerminal

如果没有,请从 Microsoft Store 应用获取。如果是,请尝试常用的“修复”命令:

Get-AppxPackage Microsoft.WindowsTerminal | foreach {
    Add-AppxPackage -Register "$($_.InstallLocation)\appxmanifest.xml" -DisableDevelopmentMode
}

或者使用“设置”应用(位于应用程序 → 应用程序和功能 → 应用程序执行别名) 禁用并重新启用 Windows 终端包的“wt.exe”别名。

在此处输入图片描述

相关内容