gpt4 book ai didi

batch-file - 如何在具有特定目标 anchor 的默认浏览器中从批处理文件中打开 HTML 文件?

转载 作者:行者123 更新时间:2023-12-03 18:18:34 25 4
gpt4 key购买 nike

我正在尝试打开一个带有特定 destination anchor 的 HTML 文件从像这样的批处理文件:

start iexplore %~dps0nl752.htm#01
exit
nl753.htm位于本地驱动器上。

如何让 Windows 在默认浏览器而不是 Internet Explorer 中打开带有目标 anchor 的 HTML 文件?

最佳答案

如果您想启动默认浏览器,那么您显然不应该对 iexplore 进行硬编码! start 命令将根据文件扩展名或 URL 协议(protocol)自行确定系统默认值。

在我的 Windows 8.1 机器上, anchor 工作正常:

start "" "http://example.com#whatever"

它似乎在没有引号的情况下也可以工作,但我个人更喜欢它们,以防万一有空格或 &那里。

根据我的经验,Internet Explorer 在处理本地 .htm[l] 文件和/或 file://URL 时有时会进行某种内部重定向,这似乎会剥离 anchor 。您对此无能为力。

需要明确的是,将 anchor 附加到普通文件系统路径是行不通的,因为它在技术上会更改扩展名。 file://URL 将起作用,因为 Windows 在处理 URL 时只查看协议(protocol)。

在我的系统上 start "" "file:///C:/Program%20Files/Common%20Files/microsoft%20shared/Stationery/Soft%20Blue.htm#whatever"只要接受命令并启动浏览器就可以工作。这并不意味着浏览器会尊重 anchor ,但这是浏览器中的一个实现细节,您无法控制,结果可能会因默认浏览器而异。

如果这还不够好,那么您可以尝试使用 IE 自动化来启动和控制 Internet Explorer。这意味着您必须放弃使用用户默认浏览器,因此我不推荐它...

正如另一个答案中所指出的那样,依靠 file://协议(protocol)和 .html 扩展名来执行浏览器而不是 HTML 编辑器有点冒险,但我不确定我是否敢在批处理文件中查询注册表任何一个。

绝对最好的解决方案是使用强制 progid 调用 ShellExecuteEx,但这只有在实际应用程序中才有可能。

第二个最佳解决方案是编写 Windows Scripting Host 脚本而不是批处理文件,因为在那里读取和解析注册表更安全......

关于batch-file - 如何在具有特定目标 anchor 的默认浏览器中从批处理文件中打开 HTML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41411185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com