バッチファイルから複数の Microsoft Edge ウィンドウを開く

バッチファイルから複数の Microsoft Edge ウィンドウを開く

バッチ ファイルから 2 つの Edge ウィンドウ (2 つのタブではなく、2 つのウィンドウ) を開く必要があります。次のコマンドを使用して Edge を起動できることはわかっています。

start microsoft-edge:

しかし、2回試しても2番目のコマンドは何も起こりません。URLで試すと、同じウィンドウに2つのタブが表示されます。例:

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

2 つの別々のウィンドウを取得する方法について何かアイデアはありますか?

答え1

もっと簡単な方法かもしれませんが、次の開始コマンドを送信する前に、新しいウィンドウを開くために CTRL+N のキーストロークを送信しました。これでうまくいきました。(PowerShell 用に .ps1 として保存)

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 

「Google - Microsoft Edge」と書かれている app.activate 行は、最初の Web サイトのタイトル ウィンドウのテキストに置き換える必要があります。その Web サイトのみを開いた状態で画面下部のエッジ アイコンにマウスを合わせると、それが何であるかがわかります。

**2019年8月8日時点の作業バージョンを編集

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

追伸:私は著者です

答え3

開始プロセス -FilePath msedge -ArgumentList '--新しいタブhttp://www.FirstInstance.com

開始プロセス -FilePath msedge -ArgumentList '--新しいウィンドウhttp://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
}

関連情報