如何重新定位 Chrome 配置文件并且使用重新定位的配置文件打开新链接?

如何重新定位 Chrome 配置文件并且使用重新定位的配置文件打开新链接?

我移动了 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 文件作为不可读/不可编辑的二进制文本),以便我可以使用环境变量。我不推荐这种方法。


我的下一个(也是当前)解决方案是创建三个环境变量,、browserbrowser_argsbrowser_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)

相关内容