PowerShell 7 中是否有命令将当前窗口分成四个并请求在每个窗口中运行 Python 文件?

PowerShell 7 中是否有命令将当前窗口分成四个并请求在每个窗口中运行 Python 文件?

目前,我按住+3 次Alt即可在同一个选项卡内创建四个分割终端:
屏幕截图1

  • 在每个命令中,我需要运行不同的 Python 命令:
    1. cd "C:\Users\Computador\Desktop\Test One" && python one.py
      
    2. cd "C:\Users\Computador\Desktop\Test Two" && python two.py
      
    3. cd "C:\Users\Computador\Desktop\Test Three" && python three.py
      
    4. cd "C:\Users\Computador\Desktop\Test Four" && python four.py
      
  • 目前,我手动粘贴这些路径,按下Enter
    截图2

有没有什么方法可以以自动化的方式实现同​​样的结果?

  • 我不是指鼠标自动点击之类的东西,而是指 PowerShell 本身的命令或类似的东西来实现这个结果

答案1

您可以使用wt拆分窗格 [ ]sp函数调用 Windows 终端 [ ] 在拆分窗格中创建一个新窗口,并且可以指定/w 0在当前窗口中执行此操作;本质上您可以运行以下命令myscript.cmd

wt /w 0 sp
cd "C:\Users\Computador\Desktop\Test One" && python one.py

wt /w 0 sp
cd "C:\Users\Computador\Desktop\Test Two" && python two.py

wt /w 0 sp
cd "C:\Users\Computador\Desktop\Test Three" && python three.py

:: -- Switch back to the first pane, so we get a nice 4 squared window.
wt /w 0 fp /t 0

wt /w 0 sp
cd "C:\Users\Computador\Desktop\Test Four" && python four.py
  • 要了解更多信息并获取所有选项的列表,包括在窗格和窗口之间切换等:wt /?

如果它不能正常工作,您也可以将命令放在一行上,例如创建一个新的选项卡ping在其中运行,在运行时将焦点返回到第一个选项卡ping

# cmd:
  wt /w 0 sp paping 8.8.8.8 -p 443 && wt /w 0 fp /t 0

# powershell:
  wt /w 0 sp paping 8.8.8.8 -p 443;wt /w 0 fp /t 0

编辑:基于这个问题,我创建了以下函数并将其存储在我的个人资料中:

function RunSplit {
    param (
        [string]$program
    )
    $command = "wt /w 0 sp $program;wt /w 0 fp /t 0"
    Invoke-Expression $command
}

我现在可以RunSplit "ping google.com"在单独的选项卡中输入 ping google 的内容。

在此处输入图片描述

相关内容