是否可以在一个 PowerShell 行中启动具有多个选项卡的 Microsoft Edge?

Is it possible in one PowerShell line to start Microsoft Edge with multiple tabs?

提问人:auslander 提问时间:4/13/2023 最后编辑:mklement0auslander 更新时间:4/13/2023 访问量:415

问:

我希望能够通过快捷方式(而不是脚本)中的单个 PowerShell 命令启动具有多个选项卡的 Microsoft Edge (Chromium)。这是我拥有的适用于一个选项卡的内容:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command "& start microsoft-edge:https://www.outlook.com"

但我不清楚如何添加一组网站。像这样:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command "& start microsoft-edge:https://www.outlook.com;https://www.google.com"

那行不通,但我正在寻找类似的东西。请注意,我没有对尝试执行此操作的工作站的管理员访问权限。

PowerShell 参数传递 Microsoft-Edge

评论


答:

3赞 mklement0 4/13/2023 #1

据我所知,通过 microsoft-edge: 协议方案启动时,仅支持单个 URL

但是,可以通过位于目录中的MicrosoftEdge.exe可执行文件启动Edge,该可执行文件接受多个URL(请注意,在这种情况下需要将它们分开):$env:LOCALAPPDATA\Microsoft\WindowsApps,

powershell.exe "start $env:LOCALAPPDATA\Microsoft\WindowsApps\MicrosoftEdge.exe https://example.org, https://google.com"

以上是 (请注意 CLI 参数的使用以及 Start-Process 的全名和参数名称的使用) 的缩写:-Command

powershell.exe -Command "Start-Process -FilePath $env:LOCALAPPDATA\Microsoft\WindowsApps\MicrosoftEdge.exe -ArgumentList https://example.org, https://google.com"

事实上,对于基于可执行文件的调用,在这种情况下,您甚至不需要 Start-Process,因为即使直接调用,GUI 可执行文件也会异步启动:

powershell.exe "& $env:LOCALAPPDATA\Microsoft\WindowsApps\MicrosoftEdge.exe https://example.org https://google.com"

请注意,需要使用 ,因为可执行路径包含变量引用,并且两个 URL 现在是空格分隔的(作为单个参数传递)。&


相反,如果您想等待 Edge 再次关闭,然后再从通话中返回,您通常会使用 ,但不幸的是,这对 AppX 应用程序(如 Microsoft Edge)无效,至少从 PowerShell 7.3.3 开始 - 请参阅 GitHub 问题 #10996Start-Process -Wait

评论

1赞 auslander 4/14/2023
效果很好,有很多有用的上下文,谢谢。