
Preciso abrir 2 janelas do Edge a partir de um arquivo em lote (não duas guias, 2 janelas). Eu sei que posso iniciar o Edge usando o seguinte comando:
start microsoft-edge:
Mas se eu tentar duas vezes, o segundo comando não fará nada. Se eu tentar com URLs, recebo duas guias na mesma janela. por exemplo
start microsoft-edge:http://google.com
start microsoft-edge:http://bing.com
Alguma idéia de como obter 2 janelas separadas?
Responder1
Pode ser uma maneira mais fácil, mas acabei de enviar um pressionamento de tecla CTRL+N para uma nova janela antes de enviar o próximo comando de início. Isso funciona para mim. (salve como .ps1 para 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
A linha app.activate onde diz "Google - Microsoft Edge" precisará ser substituída pelo texto da janela do título do primeiro site. Passar o mouse sobre o ícone de borda na parte inferior da tela, com apenas o site aberto, informará o que é.
**Editar versão de trabalho em 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)))')
Responder2
Aqui está uma técnica alternativa para iniciar várias instâncias do Edge a partir de um arquivo em lote. Você pode usar um aplicativo gratuito de terceiros chamado EdgeLaunch.exe
em seu arquivo em lote (quantas vezes quiser!)
EdgeLaunch.exe http://www.FirstInstance.com
EdgeLanuch.exe http://www.SecondInstance.com
etc...
http://www.emmet-gray.com/Articles/EdgeLaunch.html
PS: eu sou o autor
Responder3
Start-Process -FilePath msedge -ArgumentList '--nova-tabhttp://www.FirstInstance.com
Start-Process -FilePath msedge -ArgumentList '--nova janelahttp://www.FirstInstance.com
você já experimentou isso? ainda funciona !!
Responder4
Isso é um pouco mais detalhado do que a resposta de Joske. Não são necessários SendKeys ou ferramentas de terceiros! Apenas coloque--nova janelano início de CADA string na matriz $urls. (Também poderia/em vez disso usar--Nova aba)
# 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
}