如何使批处理文件通过新的Windows终端运行?
由于一次运行多个批处理文件,我倾向于一次打开许多cmd提示,因此我认为新的Windows终端将是一种整洁的方式来整理标签 问题是,我不太明白如何将通过cmd实例运行批处理文件的默认行为更改为通过Windows终端实例中的cmd实例运行所需批处理文件如何使批处理文件通过新的Windows终端运行?,windows,batch-file,cmd,terminal,Windows,Batch File,Cmd,Terminal,由于一次运行多个批处理文件,我倾向于一次打开许多cmd提示,因此我认为新的Windows终端将是一种整洁的方式来整理标签 问题是,我不太明白如何将通过cmd实例运行批处理文件的默认行为更改为通过Windows终端实例中的cmd实例运行所需批处理文件 我能够轻松地打开Windows终端,启动cmd实例,将cd刻录到正确的目录,并运行批处理文件。。但这需要付出很大的努力。我只希望能够运行批处理文件,并通过Windows终端内部的cmd提示符使其工作。双击时,您可以通过更改以下默认值来实现此行为: &
我能够轻松地打开Windows终端,启动cmd实例,将cd刻录到正确的目录,并运行批处理文件。。但这需要付出很大的努力。我只希望能够运行批处理文件,并通过Windows终端内部的cmd提示符使其工作。双击时,您可以通过更改以下默认值来实现此行为:
"%1" %*
致:
您必须使用当前用户名目录更改
,当然,如果您从Microsoft应用商店安装了Windows终端,则必须找到wt.exe
路径(C:\Users\\AppData\Local\Microsoft\WindowsApps\
),然后使用该路径。Windows环境变量%LOCALAPPDATA%
和%USERPROFILE%
对我不起作用,所以我在这里使用完整路径
您可以创建一个注册表项,以使用Windows终端操作BAT
文件并使其与CMD
一起运行:
regedit
并导航到HKEY\U CLASSES\U ROOT\batfile\shell
键wtopen
且默认值为openwithwindows终端的密钥
:HKEY\U CLASSES\U ROOT\batfile\shell\wtopen\command
:
"C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\wt.exe" -p "Command Prompt" "%1" %*
“C:\Users\\AppData\Local\Microsoft\WindowsApps\wt.exe”-p”命令提示符“%1”*
BAT
文件时,您将有一个新条目“使用Windows终端打开”,当您单击它时,它将打开一个新的Windows终端,其中一个命令提示面板将运行选定的批处理文件:
使用Windows终端0.11.1121.0进行测试
命令提示符(
cmd
)配置文件的默认名称为“命令提示符”。如果您的名称不是默认名称,则必须使用-p”“
参数对其进行更改。我已经寻找该名称至少一年了,今天终于找到了解决方案。。
在报告中,一位顾问说:
.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 terminal settings.json并更改默认值:
"startingDirectory": "%USERPROFILE%"
到
如果不这样做,它将无法工作,因为它试图在用户文件夹中而不是在当前文件夹中运行它 /batchfile对我有用。从penguinOS中取出一页,该页将由
Windows将来将支持更改默认终端。其他答案也可以,但如果Windows终端已经打开,并且允许脚本没有绝对路径,我还希望批处理文件作为新选项卡打开: 打开注册表编辑器并导航到此项:
Computer\HKEY_CLASSES_ROOT\batfile\shell\open\command
然后将(默认)
值修改为以下值:
wt.exe -w 0 new-tab -d . "%1" %*
其中,-w 0
参数指定在文件的当前工作目录下的新选项卡的第一个或现有窗口中打开:-d.
提示:如果将批处理文件设置为在后台静默运行,但不希望弹出,只需将其从.bat
重命名为.cmd
最好的方法是,如果我们需要在path中添加系统环境,我们需要将REG_类型从REG_SZ更改为REG_EXPAND_SZ,否则我们将只使用绝对路径
路径
%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe-w 0 nt-d。“%1”%*
下面是HKEY\U CLASSES\U ROOT\batfile\shell\open\命令下的
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
这项功能可能还不可用,我敦促您寻找当前的开发人员,询问是否可用,如果不可用,您可以为他们记录一个增强问题,以确保新软件的可用性得到进一步提高!引用自与(windows终端)团队沟通的最简单方式是通过GitHub问题。
不确定我是否正确,我的英语知识非常有限,但此链接有帮助吗@elzooilogico-该链接只是两个人在讨论终端,而没有讨论如何使用它。我还没有对其进行更改以测试它,但我可以想象您要么更改与.bat扩展名关联的可执行文件,要么使用start
。更一般的是:%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe
未尝试,但应该可以使用ftype batfile=“%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe”%1%*
@Stephan我尝试了%LOCALAPPDATA%
和%USERPROFILE%\AppData\…
更改命令提示符下的默认值,但这些都不起作用,但ftype
是一种更快的设置方式,是的。这是可行的,但问题是,是否有一种方法可以在windows终端中默认情况下仅通过双击而不是右键单击打开bat文件option@NekoMusume是的,我在乞求答案的时候就把它遮住了;更改HKCR\batfile\shell\open\command
对您无效?不幸的是,对我无效,只有右键单击才有效,虽然我必须将起始目录部分放在settings.json的命令提示符profile部分下,它才能更改其目录。@Mathew Vandenberg此注释应该是答案的一部分
Computer\HKEY_CLASSES_ROOT\batfile\shell\open\command
wt.exe -w 0 new-tab -d . "%1" %*
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