一次运行多个批处理文件时,我倾向于一次打开很多cmd提示,因此我认为新的Windows Terminal将是一种使用选项卡整理内容的好方法。
问题是,我不太清楚如何将通过cmd实例运行批处理文件的默认行为更改为通过Windows Terminal实例内部的cmd实例运行所需的运行批处理文件。
我能够轻松地打开Windows终端,启动一个cmd实例,将cd切换到正确的目录,然后运行批处理文件..但这很费劲。我只希望能够运行一个批处理文件,并通过Windows终端中的cmd提示符使它工作。
答案 0 :(得分:6)
通过将HKCR\batfile\shell\open\command
的默认值从以下位置更改,您可以双击该行为:
"%1" %*
收件人:
"C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\wt.exe" -p "Command Prompt" "%1" %*
或使用ftype
命令:
ftype batfile="C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\wt.exe" -p "Command Prompt" "%1" %*
您必须使用当前用户名目录更改<user>
,当然,如果您已安装 Windows Terminal wt.exe路径(C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\
)是> Microsoft Store 中的>,则必须查找到wt.exe
的路径并使用它。 Windows环境变量%LOCALAPPDATA%
和%USERPROFILE%
对我不起作用,因此我在这里使用完整路径。
您可以创建一个注册表项,以选择使用Windows终端操作BAT
文件并使其与CMD
一起运行:
regedit
并导航至HKEY_CLASSES_ROOT\batfile\shell
键。使用名称wtopen
和默认值Open with Windows Terminal
创建密钥:
HKEY_CLASSES_ROOT\batfile\shell\wtopen\command
:
"C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\wt.exe" -p "Command Prompt" "%1" %*
现在,当您右键单击BAT
文件时,您将拥有一个新条目“使用Windows终端打开” ,当您单击它时,它将打开一个新的 Windows终端,其中带有运行所选批处理文件的命令提示符面板:
通过Windows Terminal 0.11.1121.0测试
命令提示符(cmd
)配置文件的默认名称为“命令提示符” 。如果您使用的名称不是默认名称,则必须使用-p "<name>"
参数进行更改。
答案 1 :(得分:4)
其他答案有效,但如果 Windows 终端已经打开并允许没有绝对路径的脚本,我也希望批处理文件作为新选项卡打开:
打开注册表编辑器并导航到此项:
Computer\HKEY_CLASSES_ROOT\batfile\shell\open\command
然后将 (Default)
值修改为以下内容:
wt.exe -w 0 new-tab -d . "%1" %*
其中 -w 0
参数指定在文件当前工作目录的 new-tab
中的第一个或现有窗口中打开:-d .
提示:如果您不想弹出一个设置为在后台静默运行的批处理文件,只需将其从 .bat
重命名为 .cmd
!
答案 2 :(得分:3)
我已经寻找了至少一年,今天终于找到了解决方案。 在Microsoft Forum中,顾问说:
.Bat扩展名是命令提示符可执行格式。 正如我已经检查过的那样,它在新Windows终端中不支持。
幸运的是,这是错误的,我找到了一种将新的Windows终端设置为默认值的方法:
只需使用以下代码创建一个.reg文件(用您的用户名替换“ Marco”)并运行它:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@="\"C:\\Users\\Marco\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe\" \"%1\""
您还需要编辑Windows终端settings.json并更改默认值:
"startingDirectory": "%USERPROFILE%"
到
"startingDirectory": "."
如果您不这样做,它将无法正常运行,因为它会尝试在用户文件夹中而不是当前文件夹中运行它!
答案 3 :(得分:2)
如 tech189 所述,
<块引用>其他答案有效,但如果 Windows 终端已经打开并允许没有绝对路径的脚本,我也希望批处理文件作为新选项卡打开
如果“命令提示符”不是 Windows 终端中的默认配置文件,我希望 .bat 文件在 Windows 终端中使用配置文件“命令提示符”打开。
因此,使用 Christos Lytras 和 tech189 的解决方案,我找到了适合我的解决方案:
<块引用>打开注册表编辑器并导航到此项:
Computer\HKEY_CLASSES_ROOT\batfile\shell\open\command
然后将 (Default)
值修改为以下内容:
wt.exe -w 0 new-tab -d . -p "Command Prompt" "%1" %*
答案 4 :(得分:1)
将由https://github.com/microsoft/terminal/issues/492
支持Windows 将来会支持更改默认终端。
答案 5 :(得分:0)
为了最好的方法,如果我们需要在路径中添加系统环境,我们需要将 REG_TYPE 从 REG_SZ 更改为 REG_EXPAND_SZ 否则我们将只使用绝对路径
路径
%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe -w 0 nt -d . "%1" %*
在 HKEY_CLASSES_ROOT\batfile\shell\open\command
下将是以下
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@=hex(2):25,00,4c,00,4f,00,43,00,41,00,4c,00,41,00,50,00,50,00,44,00,41,\
00,54,00,41,00,25,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,\
74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,73,\
00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,77,00,20,00,30,00,\
20,00,6e,00,74,00,20,00,2d,00,64,00,20,00,2e,00,20,00,22,00,25,00,31,00,22,\
00,20,00,25,00,2a,00,00,00
答案 6 :(得分:0)
今天我发现以下命令有效(无需更改注册表):
wt -p "Command Prompt" {pathtoyourbatchfile1} ; nt {pathtoyourbatchfile2}
上面的命令使用指定的批处理文件打开 2 个选项卡。 “nt”部分定义了附加选项卡,因此您可以重复它来初始化多个选项卡。
答案 7 :(得分:-1)
./ batchfile对我有用。从penguinOS中取出页面