![如何重新定位 Chrome 配置文件并且使用重新定位的配置文件打开新链接?](https://linux22.com/image/1252949/%E5%A6%82%E4%BD%95%E9%87%8D%E6%96%B0%E5%AE%9A%E4%BD%8D%20Chrome%20%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%B9%B6%E4%B8%94%E4%BD%BF%E7%94%A8%E9%87%8D%E6%96%B0%E5%AE%9A%E4%BD%8D%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E6%89%93%E5%BC%80%E6%96%B0%E9%93%BE%E6%8E%A5%EF%BC%9F.png)
我移动了 chrome 的“用户数据”目录,并使用命令行开关从这里成功启动了配置文件 --user-data-dir="E:\chrome"
,但是,如果我单击链接,它将打开一个新的 chrome 实例,重新创建一个空白的 chrome 配置文件和一个新的用户数据文件夹。
我该如何修复它?
答案1
创建一个将默认位置指向您选择的位置的符号链接。
mklink /d "%LocalAppData%\Google\Chrome\User Data" E:\chrome
答案2
在“HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome”下添加一个名为“UserDataDir”的字符串值,其中包含您要使用的用户数据目录的值。然后,您可以不带参数启动 chrome.exe,并且从文件浏览器启动 *.html 文件也会使用此用户数据目录打开。
答案3
自从 Chrome 首次推出以来,我一直在努力解决这个问题。不幸的是,Chrome 的设计(或者说目前智能程度)无法在注册为默认浏览器时包含命令行参数。
我已经提交一个问题要求 Chrome / Chromium 在注册为默认浏览器时包含命令行参数,但不要指望它能被实现。(他们显然对修复这个问题不感兴趣。)
Tl;dr:跳过下一段。
我的第一个解决方案(阅读解决方法)最初是创建一个 .REG 文件,手动设置需要注册的各个位置的命令行(对于 HTM* 文件、对于 HTTP* 协议、对于超链接等)。当然,这变得相当站不住脚,特别是因为我使用了可扩展字符串(它们被导出到 REG 文件作为不可读/不可编辑的二进制文本),以便我可以使用环境变量。我不推荐这种方法。
我的下一个(也是当前)解决方案是创建三个环境变量,、browser
和browser_args
。browser_args_cu
前一个变量仅保存浏览器 EXE 文件的路径。第二个变量保存浏览器的命令行参数(如果有),而最后一个变量保存用户特定的参数(例如用户数据文件夹位置)。然后,我只需用可扩展字符串替换所有需要注册浏览器的实例(见下面的列表)%browser% %browser_args_cu% %browser_args% -- "%1"
并创建一个(4KB)REG 文件。
现在,我只需合并一次 REG 文件即可注册我选择的“浏览器”。如果我想更改浏览器,我不需要编辑 REG 文件;我所要做的就是更改一两个环境变量(例如系统属性),这要容易得多。此外,我可以通过运行简短命令随时随地使用适当的命令行运行浏览器%browser% %browser_args_cu% %browser_args% -- "%1"
,甚至可以通过将其他选项添加到末尾来测试它们,或者更好的是,只需将变量放在批处理文件或快捷方式中(例如名为browser
)。然后,例如,安装扩展而不经历严重的缺陷我一直在尝试帮助修复,我可以关闭 Chromium,然后运行browser --single-process
,或者我可以直接打开扩展的页面,就像browser --single-process https://chrome.google.com/webstore/detail/…
。
注册表中设置 Chrome/Chromium 的位置列表:
[HKLM\SOFTWARE\Clients\StartMenuInternet\Chromium\shell\open\command]
[HKLM\SOFTWARE\Clients\StartMenuInternet\Google Chrome\shell\open\command]
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe]
[HKCR\Applications\chrome.exe\shell\open\command]
[HKCR\ChromeExt\shell\open\command]
[HKCR\ChromeHTML\shell\open\command]
[HKCR\ChromiumExt\shell\open\command]
[HKCR\ChromiumHTML\shell\open\command]
[HKCR\ftp\shell\open\command]
[HKCR\http\shell\open\command]
[HKCR\https\shell\open\command]
[HKCR\MacromediaFlashPaper.MacromediaFlashPaper\shell\open\command]
[HKCR\pdf_auto_file\shell\open\command] (these two are custom for opening
[HKCR\svg_auto_file\shell\open\command] PDF and SVG files with)