Открыть несколько окон Microsoft Edge из пакетного файла

Открыть несколько окон Microsoft Edge из пакетного файла

Мне нужно открыть 2 окна Edge из пакетного файла (не две вкладки, а 2 окна). Я знаю, что могу запустить edge с помощью следующей команды:

start microsoft-edge:

Но если я попробую дважды, вторая команда ничего не сделает. Если я попробую с URL, я получу 2 вкладки в одном окне. Например

start microsoft-edge:http://google.com
start microsoft-edge:http://bing.com

Есть идеи, как получить 2 отдельных окна?

решение1

Может быть, это более простой способ, но я просто отправил нажатие клавиши CTRL+N для нового окна перед отправкой следующей команды запуска. Это работает для меня. (сохраните как .ps1 для powershell)

start microsoft-edge:http://google.com 
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('Google - Microsoft Edge')
Sleep 2
$wshell.SendKeys('(^(n))')
Sleep 2
start microsoft-edge:http://yahoo.com 

Строку app.activate, где написано "Google - Microsoft Edge", нужно заменить на текст заголовка окна вашего первого веб-сайта. Наведение курсора на значок edge в нижней части экрана, когда открыт только этот веб-сайт, скажет вам, что это такое.

**Редактировать рабочую версию по состоянию на 08.08.2019

start microsoft-edge:http://google.com 
start microsoft-edge:http://yahoo.com 
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('Google - Microsoft Edge')
Sleep 2
$wshell.SendKeys('(^(+(n)))')

решение2

Вот альтернативный метод запуска нескольких экземпляров Edge из пакетного файла. Вы можете использовать бесплатное стороннее приложение, вызываемое EdgeLaunch.exeв вашем пакетном файле (столько раз, сколько захотите!)

EdgeLaunch.exe http://www.FirstInstance.com
EdgeLanuch.exe http://www.SecondInstance.com
etc...

http://www.emmet-gray.com/Articles/EdgeLaunch.html

P.S.: Я автор.

решение3

Запустить-процесс -FilePath msedge -ArgumentList '--new-tabhttp://www.FirstInstance.com

Запустить-процесс -FilePath msedge -ArgumentList '--new-windowhttp://www.FirstInstance.com

Вы пробовали это? Все еще работает!!

решение4

Это немного подробнее, чем ответ Joske. Не требуется SendKeys или сторонний инструмент! Просто поставьте--новое окнов начале КАЖДОЙ строки в массиве $urls. (Можно также/вместо этого использовать--новая вкладка)

# Open web apps in new tabs or windows
# Must wrap arguments in quotes because double-hyphens in PowerShell are the unary operator
# Without the quotes, you get this error: Missing expression after unary operator '--'

[String[]]$urls =
  @(
    '--new-window https://www.google.com'
    '--new-window https://docs.microsoft.com'
    '--new-window https://youtube.com'
  )

foreach ($url in $urls) {
  Start-Process "${env:ProgramFiles(x86)}\Microsoft\Edge\Application\msedge.exe" $url
}

Связанный контент