如何在不调用 wt.exe 别名的情况下从命令启动 Windows 终端?

如何在不调用 wt.exe 别名的情况下从命令启动 Windows 终端?

在我的计算机上,UWP 应用 Paint 和 Windows Terminal 有时无法通过其别名启动。启动将导致涉及模块的mspaint.exe应用程序错误事件。启动将导致涉及模块的错误。每当发生这种情况时,我都必须重新启动计算机才能解决问题。mspaint.exeKERNELBASE.dllwt.exeWindowsTerminal.exeucrtbase.dll

我可以通过将整个注册表子项替换HKCR\SystemFileAssociations\image\shell\edit为 Paint App 自己的 Appx 注册表项来避免在文件关联中使用 mspaint.exe HKCR\AppXcesbfs704v2mjbts9dkr42s9vmrhxbkj\shell\open。但我找不到HKCR\Appx*Windows Terminal 的子项,大概是因为 Windows Terminal 没有任何文件关联。在这种情况下,如何在不使用“wt.exe”别名的情况下从命令行打开终端?“在终端中打开”上下文菜单项以及 Win+X 上下文菜单中的“终端”和“终端(管理员)”仍然可以正确打开 Windows Terminal。

我的目标是修复命令,以便上下文菜单条目HKCR\Directory\Background\shell\PowerShellWAdmin(以管理员身份在此处打开终端,当前命令powershell.exe -Command "Start-Process wt.exe -ArgumentList -p ""%V""" -Verb RunAs)和HKCR\Directory\Background\shell\WSL(在 WSL 配置文件中打开,当前命令wt.exe -p "Ubuntu" -d "%V")可以可靠地打开 Windows 终端。

答案1

UWP 应用程序 Paint 和 Windows Terminal 有时通过其别名调用时无法启动。

快速尝试一些方法,看看是否可以确定您的根本问题......

首先,打开管理应用程序执行别名在 Windows 中设置。 有可能有两个或多个条目吗wt.exepaint.exe对于wt.exe,它可能列在以下位置:

  • 终端
  • 终端预览
  • Windows 终端
  • Windows 终端预览版

我想知道当前活动的别名是否被设置为较旧的、可能已被删除的版本。关闭较旧的执行别名可能让您无需重新启动即可解决问题。

如果这些应用只有一个别名,那么也许只需关闭它们然后再打开就可以了。或者也许它们只是被设置为离开由于某种原因,并将它们切换到将会解决它。

如何在不使用wt.exe别名的情况下从命令行打开终端?...

我的目标是修复命令,以便上下文菜单条目

在我的系统上,我可以通过 PowerShell 启动:

& 'C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.15.2713.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe' -p "Ubuntu-22.04"
# or
& 'C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.15.2713.0_x64__8wekyb3d8bbwe\wt.exe' -p "Ubuntu-22.04"

如果该路径不适合您,请使用以下命令找到正确的路径:

(Get-AppxPackage |? { $_.Name -like "*Term*" }).InstallLocation

请注意,如果您知道商店应用的 ID,也可以从命令行启动该应用PackageFamilyName。对于终端,该命令如下:

explorer.exe shell:appsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App

但是,该机制不允许您传递参数。

相关内容