Mas*_*han 22 windows terminal cmd batch-file
由于一次运行多个批处理文件,我倾向于一次打开很多 cmd 提示,因此我认为新的 Windows 终端将是一种使用选项卡整理内容的巧妙方法。
问题是,我不太清楚如何通过 Windows 终端实例内的 cmd 实例将通过 cmd 实例运行批处理文件的默认行为更改为所需的运行批处理文件。
我可以轻松打开 Windows 终端,启动一个 cmd 实例,cd 到正确的目录,然后运行批处理文件..但这需要付出很多努力。我只想能够运行一个批处理文件,并让它通过 Windows 终端内的 cmd 提示符工作。
Chr*_*ras 29
您可以通过将HKEY_CLASSES_ROOT\batfile\shell\open\command默认值更改为双击来实现此行为:
"%1" %*
Run Code Online (Sandbox Code Playgroud)
到:
"C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\wt.exe" -p "Command Prompt" "%1" %*
Run Code Online (Sandbox Code Playgroud)
或使用ftype命令:
ftype batfile="C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\wt.exe" -p "Command Prompt" "%1" %*
Run Code Online (Sandbox Code Playgroud)
您必须更改<user>当前用户名目录,当然,此wt.exe路径 ( C:\Users\<user>\AppData\Local\Microsoft\WindowsApps\) 是如果您已从Microsoft Store安装Windows Terminal,如果还没有,那么您必须找到并使用该路径。的Windows环境变量和,没有工作的我,所以我在这里使用完整路径。wt.exe%LOCALAPPDATA%%USERPROFILE%
您可以创建一个注册表项来选择BAT使用 Windows 终端来运行文件并使其运行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" %*
Run Code Online (Sandbox Code Playgroud)
现在,当您右键单击文件时,您将拥有一个新条目“使用 Windows 终端打开”BAT,当您单击它时,它将打开一个带有运行所选批处理文件的命令提示符面板的新Windows 终端:
使用 Windows 终端 0.11.1121.0 测试
命令提示符( cmd) 配置文件的默认名称是“命令提示符”。-p "<name>"如果您有其他名称而不是默认名称,则必须使用参数更改它。
tec*_*189 16
其他答案有效,但如果 Windows 终端已打开并允许没有绝对路径的脚本,我还希望批处理文件作为新选项卡打开:
打开注册表编辑器并导航到此键:
Computer\HKEY_CLASSES_ROOT\batfile\shell\open\command
Run Code Online (Sandbox Code Playgroud)
然后将(Default)值修改为以下内容:
wt.exe -w 0 new-tab -d . "%1" %*
Run Code Online (Sandbox Code Playgroud)
其中参数指定在文件当前工作目录-w 0中的第一个或现有窗口中打开:new-tab-d .
提示:如果您将批处理文件设置为在后台静默运行,并且不想弹出该文件,只需将其重命名为.bat即可.cmd!
我一直在寻找这个至少一年,今天我终于找到了解决方案.. 在微软论坛中,一位顾问说:
.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\""
Run Code Online (Sandbox Code Playgroud)
您还需要编辑 windows 终端 settings.json 并更改默认值:
"startingDirectory": "%USERPROFILE%"
Run Code Online (Sandbox Code Playgroud)
到
"startingDirectory": "."
Run Code Online (Sandbox Code Playgroud)
如果您不这样做,它将无法工作,因为它试图在用户文件夹中而不是在当前文件夹中运行它!
今天我发现以下命令可以工作(无需更改注册表):
wt -p "Command Prompt" {pathtoyourbatchfile1} ; nt {pathtoyourbatchfile2}
Run Code Online (Sandbox Code Playgroud)
上面的命令打开 2 个包含指定批处理文件的选项卡。“nt”部分定义了附加选项卡,因此您可以重复它来初始化多个选项卡。
小智 6
正如 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" %*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11502 次 |
| 最近记录: |