dx_*_*_dt 3 windows command-line windows-terminal
有许多 Stack Overflow 问题提出了这个问题的变体;我已经通读了前 10 个左右,但没有一个能解决我的问题。
我正在尝试wt.exe通过命令提示符运行。
wt
wt.exe
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,它都会打印错误消息:
The system cannot find the file C:\Users\MyUser\AppData\Local\Microsoft\WindowsApps\wt.exe.
Run Code Online (Sandbox Code Playgroud)
如果当前目录是C:\Users\MyUser\AppData\Local\Microsoft\WindowsApps.
很明显,它正在查找文件,因为它从任何工作目录中找出了它的路径。我对自己的用户有权限AppData,而且——我检查过——我对wt.exe自己有权限。我也试过它以管理员身份运行,结果相同。即使从wt自身运行它也找不到它。
运行code-insiders正常,它也在AppData. 运行where wt返回正确的路径。
奇怪的是这在我的其他计算机上工作,我认为它之前在这台计算机上工作并且实际上停止了(我几个月没有使用它)。
有任何想法吗?
下面的对象~\AppData\Local\Microsoft\WindowsApps不是文件——它们是执行别名,通过重解析点实现。它们有点像符号链接或连接点,因为它们只指向特定应用程序包中的另一个文件,尽管它们包含一些关于包的额外元数据,并且它们只支持被执行但不支持打开。
但就像符号链接或连接点一样,即使链接的目标不再存在,您仍然会看到链接存在 – 但您将无法打开它。
在这种情况下,wt.exe 是指向 Microsoft.WindowsTerminal 包(或可能指向其“预览”变体)的执行别名。您应该确保该软件包实际上已安装:
Get-AppxPackage Microsoft.WindowsTerminal
Run Code Online (Sandbox Code Playgroud)
如果没有,请从 Microsoft Store 应用中获取。如果是,请尝试通常的“修复”命令:
Get-AppxPackage Microsoft.WindowsTerminal | foreach {
Add-AppxPackage -Register "$($_.InstallLocation)\appxmanifest.xml" -DisableDevelopmentMode
}
Run Code Online (Sandbox Code Playgroud)
或者使用设置应用程序(在应用程序?应用程序和功能?应用程序执行别名)禁用和重新启用 Windows 终端包的“wt.exe”别名。