我需要使用 Chrome 和 Powershell 啟動一個本地應用程式(它需要查詢字串中的一些引數)。
這是我正在嘗試的,但它不起作用。
$MediaName = "Test_Media"
$CurrentLocation = Get-Location
$PreviewTemplateLocation = "$($CurrentLocation.Drive.Name):\\Work\_all\Tools\Script\MCD\Script\template"
$TemplateIndexLocation = Join-Path -Path $PreviewTemplateLocation -ChildPath "index.html"
[System.Diagnostics.Process]::Start("chrome.exe", "$($TemplateIndexLocation)`#media=$($MediaName) --incognito --disable-web-security --auto-open-devtools-for-tabs --user-data-dir=C:/chromeTemp")
網址應該是
C:\Work_all\Tools\Script\MCD\Script\template\index.html#media=Test_Media
但我得到的是
C:\Work_all\Tools\Script\MCD\Script\template\index.html#media=Test_Media
請注意,我在 URL 中得到 # 而不是 #。不應該轉義 # 字符或類似的東西嗎?
謝謝!!
uj5u.com熱心網友回復:
如果您使用常規檔案系統路徑,Chrome 會自動轉義 URL 元字符,例如#for you (#是 的轉義形式#)。
使用file://協議來避免這種轉義(file:///指定本地路徑)。
此外,您可以使用Start-Process代替[System.Diagnostics.Process]::Start(), 以獲得更 PowerShell 慣用的體驗。
Start-Process chrome "file:///$TemplateIndexLocation#media=$MediaName --incognito --disable-web-security --auto-open-devtools-for-tabs --user-data-dir=C:/chromeTemp"
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/316423.html
上一篇:排序物件-唯一
