使用查询参数打开本地文件(使用Chrome和Powershell)



我需要启动一个本地应用程序(它需要在查询字符串中的一些参数)与Chrome和Powershell。

这是我正在尝试的,但是它不工作。

$MediaName = "Test_Media"
$CurrentLocation = Get-Location
$PreviewTemplateLocation = "$($CurrentLocation.Drive.Name):\Work_allToolsScriptMCDScripttemplate"
$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")

url应该是

C: Work_all 脚本脚本工具 ' index . html模板#媒体= Test_Media

但是我得到的是

C: Work_all 脚本脚本工具 ' index . html模板% 23媒体= Test_Media

注意,我在URL中得到的是%23而不是#。字符#不应该被转义或类似的东西吗?

谢谢! !

如果您使用的是常规的文件系统路径,Chrome会自动为您转义URL元字符,例如#(%23#的转义形式)

使用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"

相关内容

  • 没有找到相关文章

最新更新