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

标签 powershell parameter-passing microsoft-edge

我希望能够通过快捷方式(而不是脚本)中的单个 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 "& 启动 microsoft-edge:https://www.outlook.com;https://www.google.com “

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

最佳答案

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

但是,您可以通过位于目录 $env:LOCALAPPDATA\Microsoft\WindowsApps 中的 MicrosoftEdge.exe 可执行文件启动 Edge 确实接受多个 URL(请注意,在本例中需要用 , 分隔它们):

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

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

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 在从调用返回之前再次关闭,则通常使用Start-Process -Wait,但不幸的是,这对于 Microsoft Edge 等 AppX 应用程序无效,至少从 PowerShell 7.3.3 开始是这样 - 请参阅 GitHub issue #10996 .

关于powershell - 是否可以在一行 PowerShell 中启动具有多个选项卡的 Microsoft Edge?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76006821/

相关文章:

PowerShell DSC。下载并安装软件

c - 传递一个参数数量不确定的函数,并使用可变参数调用它

css - Microsoft Edge 上的禁用文本框不可选择

python - Windows Edge Webdriver 失败并出现 WebDriverException : Message: Unknown error

PHP Apache 增加每个客户端的最大并发连接数

html - 如何使用 "ConvertTo-Html -CssUri"?

powershell - 如何真正了解robocopy返回码2

Python - 干净地传递参数

fortran - 在类型绑定(bind)的基本过程中将对象作为 Intent(inout) 传递

css - IE计算宽度问题