You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Windows Terminal中运行可执行文件?含默认程序设置方法

解决Windows Terminal运行可执行文件仅启动终端的问题,以及设置默认程序的方法

嘿,我来帮你搞定这两个问题——我自己在折腾Windows Terminal的时候也遇到过类似的坑,下面是亲测有效的解决方案:


一、为什么wt.exe myConsoleApp.exe只打开Terminal,不运行程序?

Windows Terminal默认会启动你设置的默认shell(比如PowerShell或CMD),而不是直接执行你后面跟的程序——除非你用正确的参数格式明确告诉它要做什么。这里有两种简单的解决办法:

方法1:用--command参数指定要运行的程序

这是最直接的方式,告诉Terminal“启动后直接执行这个命令/程序”:

  • 如果你的myConsoleApp.exe在当前工作目录,或者已经加到系统PATH里,直接跑这个命令:
    wt.exe --command "myConsoleApp.exe"
    
  • 如果exe不在当前目录也不在PATH里,一定要写完整绝对路径,比如:
    wt.exe --command "C:\MyProjects\ConsoleApps\myConsoleApp.exe"
    
    要是希望程序运行结束后窗口不自动关闭,可以在命令后面加& pause,比如:
    wt.exe --command "C:\MyProjects\ConsoleApps\myConsoleApp.exe & pause"
    

方法2:先指定工作目录再运行程序

如果你的exe固定在某个文件夹里,也可以先让Terminal切换到那个目录,再执行程序:

wt.exe -d "C:\MyProjects\ConsoleApps" myConsoleApp.exe

-d参数就是用来设置Terminal启动后的工作目录,这样它就能找到当前目录下的exe了。


二、把Windows Terminal设为ps1、bat和命令行exe的默认程序

完全可以!不同类型的文件设置步骤略有区别,我一步步给你说:

1. 设置bat/cmd文件的默认打开程序

  • 右键任意一个.bat.cmd文件,选打开方式 > 选择另一个应用
  • 弹出的窗口里点更多应用 > 在这台电脑上查找其他应用
  • 直接在地址栏输入wt.exe回车(或者找到它的安装路径,默认在C:\Program Files\Windows Terminal\或者Microsoft Store的WindowsApps文件夹里)
  • 勾选始终使用此应用打开.bat文件,确定就搞定了。

2. 设置ps1文件的默认打开程序

PowerShell脚本的关联要注意,默认是直接用PowerShell执行,要改成用Terminal运行:

  • 同样右键.ps1文件,选打开方式 > 选择另一个应用 > 更多应用 > 在这台电脑上查找其他应用,选中wt.exe并勾选始终使用。
  • 但这里有个小问题:直接关联后,Terminal会打开默认shell而不是直接执行脚本。你可以修改注册表来解决:
    1. 按下Win+R输入regedit打开注册表编辑器
    2. 导航到HKEY_CLASSES_ROOT\Applications\wt.exe\shell\open\command
    3. 把默认值改成:"wt.exe" --command "powershell.exe -File "%1""
      (如果你的wt.exe路径不是默认的,替换成实际路径就行)

3. 设置命令行exe的默认程序

对于像myConsoleApp.exe这类控制台exe:

  • 右键exe文件,选打开方式 > 选择另一个应用,选中Windows Terminal,勾选始终使用此应用打开.exe文件
  • 注意:不是所有exe都是命令行程序,如果你只想让控制台exe关联,最好先确认这个exe是控制台类型的(运行时会弹出命令行窗口的那种)再设置。

另外,你也可以打开Windows Terminal的设置页面(按下Ctrl+,),在启动选项里调整默认shell,这样关联后的程序能更符合你的使用习惯。


内容的提问来源于stack exchange,提问作者ctyar

火山引擎 最新活动