【发布时间】:2021-12-20 16:19:42
【问题描述】:
免责声明:我是 PowerShell 新手 - 我在 YouTube 上看过一些教程。
问题: 在工作之前,我需要做以下事情: (我有一个 3 屏幕/显示器设置)
- 打开 VSCode
- 在我的中间屏幕上最大化 VSCode
- 打开 4(四)个 powershell 实例
- 将 powershell 窗口停靠在我的左侧屏幕上并将它们停靠(左上角、右上角、bot-left、bot-right) - 我需要 4 个实例,因为我有多个不同的进程同时运行时间
- 打开 Chrome
- 在我的右侧屏幕上最大化 Chrome
我想出了如何在某个路径打开我需要的应用程序,但仅此而已:(
Start-Process -FilePath 'C:\Users\...\Code.exe' -ArgumentList 'C:\repos'
Start-Process -FilePath 'C:\Windows\...\powershell.exe' -ArgumentList 'C:\repos'
我在 PowerShell 文档中没有找到任何可以引用连接到我的 PC 的监视器的命令。
长话短说-这是我需要做的,用伪代码编写:
// $screenMid = get the mid screen object (reference)
// $vscodeIinstance = open VSCode at a path
// $vscodeIinstance.position = $screenMid.position.maximize()
// $screenLeft = get the left screen object (reference)
// $powershellWindowOne = open PS at a path
// $powershellWindowOne.position = $screenLeft.position.dockTopLeft()
// $powershellWindowTwo = open PS at a path
// $powershellWindowTwo.position = $screenLeft.position.dockTopRight()
// ...do the same for another two PS windows (dockBotLeft, dockBotRight)
// $screenRight = get the right screen object (reference)
// $browser = open browser with url
// $browser position = $screenRight.position.maximize()
我已经在每个工作日都这样做了一段时间,所以我正在尝试自动化整个过程。
自从我开始寻找解决方案以来已经有几天了。到目前为止没有运气。
谢谢大家的帮助!
【问题讨论】:
-
我很好奇自己是否可以完全使用 powershell 来完成。但如果没有,powershell 确实可以让您访问整个 .NET 框架,因此您可以考虑尝试将同一事物的 C# 解决方案改编为 powershell 脚本。例如 - stackoverflow.com/questions/1538602/… 。尽管我怀疑这是否适合您,但您是否看过微软的“powertoys”实用程序?它有一个名为 Fancy Zones 的功能,可让您设计和保存自定义窗口布局/工作区
-
嗨@diopside - Ihe fancyzones 应用程序不提供打开应用程序然后将应用程序窗口停靠到多个显示器上的不同位置的功能。还是我错过了什么?
-
不,你没有错过任何东西,它基本上只是一个窗口安排器。只是想我会把它扔在那里,因为布置你的窗户似乎是你想做的事情的一小部分,可能微不足道
-
我确实需要安排这些窗口,但我需要先自动打开这些应用程序:)
标签: powershell