首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让批处理文件通过新的Windows终端运行?

如何让批处理文件通过新的Windows终端运行?
EN

Stack Overflow用户
提问于 2019-05-18 01:55:59
回答 8查看 14.5K关注 0票数 23

我倾向于一次打开多个批处理文件的命令提示,所以我认为新的Windows终端将是一个整洁的方式来整理标签。

问题是,我不太清楚如何将通过cmd实例运行批处理文件的默认行为更改为通过Windows终端实例内部的cmd实例运行所需的批处理文件。

我能够轻松地打开Windows终端,启动cmd实例,cd到正确的目录,并运行批处理文件。但这需要付出大量的努力。我希望能够运行一个批处理文件,并通过Windows终端内的cmd提示符使其工作。

EN

回答 8

Stack Overflow用户

发布于 2020-05-02 04:40:33

通过将HKEY_CLASSES_ROOT\batfile\shell\open\command默认值从以下位置更改,可以在双击时执行此操作:

代码语言:javascript
运行
复制
"%1" %*

至:

代码语言:javascript
运行
复制
"C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\wt.exe" -p "Command Prompt" "%1" %*

或者使用ftype命令:

代码语言:javascript
运行
复制
ftype batfile="C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\wt.exe" -p "Command Prompt" "%1" %*

您必须使用当前的用户名目录更改<user>,当然,此wt.exe路径(C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\)是如果您已经从微软商店安装了Windows终端,如果您还没有安装,那么您必须找到wt.exe的路径并使用它。Windows环境变量%LOCALAPPDATA%%USERPROFILE%对我不起作用,所以我在这里使用完整路径。

您可以创建一个注册表项,使其具有使用Windows终端打开BAT文件并使其与CMD一起运行的选项

  1. 打开regedit并导航到HKEY_CLASSES_ROOT\batfile\shell key。
  2. 创建一个名称为wtopen、默认值为Open with Windows Terminal

的密钥

命令提示符创建具有默认值的子键提示符:"C:\Users\\AppData\Local\Microsoft\WindowsApps\wt.exe“-p”

  1. “"%1”%*

现在,当你右击BAT文件时,你会有一个新的条目“用Windows终端打开”,当你点击它时,它将打开一个新的Windows终端,并带有一个运行所选批处理文件的命令提示符面板:

在Windows终端0.11.1121.0上测试

命令提示符(cmd)配置文件的默认名称为"Command Prompt“。如果您的名称不是默认名称,则必须使用-p "<name>"参数对其进行更改。

票数 34
EN

Stack Overflow用户

发布于 2020-06-27 22:14:11

我已经找了至少一年了,今天我终于找到了解决方案。在Microsoft Forum中,一位顾问说:

.Bat extension是命令提示符可执行文件格式。据我所知,它不会在新的Windows终端中支持。

幸运的是,这是错误的,我找到了一种方法来将新的Windows终端设置为默认:

只需使用以下代码创建一个.reg文件(将"Marco“替换为您的用户名)并运行它:

代码语言:javascript
运行
复制
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并更改默认值:

代码语言:javascript
运行
复制
"startingDirectory": "%USERPROFILE%"

代码语言:javascript
运行
复制
"startingDirectory": "."

如果你不这样做,它将不会工作,因为它试图在用户文件夹中运行它,而不是在当前文件夹中!

票数 8
EN

Stack Overflow用户

发布于 2021-04-17 07:28:50

其他答案有效,但如果Windows终端已经打开并允许脚本没有绝对路径,我也希望批处理文件作为新的选项卡打开:

打开注册表编辑器并导航到此注册表项:

代码语言:javascript
运行
复制
Computer\HKEY_CLASSES_ROOT\batfile\shell\open\command

然后将(Default)值修改为以下值:

代码语言:javascript
运行
复制
wt.exe -w 0 new-tab -d . "%1" %*

其中,-w 0参数指定在文件的当前工作目录下的new-tab的第一个窗口或现有窗口中打开:-d .

提示:如果你设置了一个在后台静默运行的批处理文件,你不想弹出它,只需将它从.bat重命名为.cmd

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56191386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档