
我需要從批次檔開啟 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」的行需要替換為您的第一個網站標題視窗文字。將滑鼠懸停在螢幕底部的邊緣圖示上(僅打開該網站)會告訴您它是什麼。
**編輯截至 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 實例的替代技術。您可以使用批次檔中呼叫的免費第 3 方應用程式EdgeLaunch.exe
(任意次數!)
EdgeLaunch.exe http://www.FirstInstance.com
EdgeLanuch.exe http://www.SecondInstance.com
etc...
http://www.emmet-gray.com/Articles/EdgeLaunch.html
PS:我是作者
答案3
啟動進程-FilePath msedge -ArgumentList '--new-tabhttp://www.FirstInstance.com
啟動進程-FilePath msedge -ArgumentList '--new-windowhttp://www.FirstInstance.com
你嘗試過這些嗎?仍然有效!
答案4
這比 Joske 的回答更詳細一些。無需 SendKeys 或第 3 方工具!就放- 新窗戶在 $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
}