Comment déplacer le profil Chrome mais aussi créer de nouveaux liens ouverts avec le profil relocalisé?

J'ai déplacé le répertoire 'données utilisateur' de chrome et j'ai lancé avec succès le profil à partir d'ici en utilisant le commutateur de ligne de commande --user-data-dir="E:\chrome" , mais si je clique sur un lien, il ouvrira une nouvelle instance de Chrome, recréant un profil chrome vierge et un nouveau dossier de données utilisateur.

Comment puis-je résoudre cela?

Créez un lien symbolique indiquant l'emplacement par défaut à celui que vous avez choisi.

 mklink /d "%LocalAppData%\Google\Chrome\User Data" E:\chrome 

Ajoutez une valeur de chaîne appelée "UserDataDir" sous "HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome" avec la valeur de l'utilisateur-données-dir que vous souhaitez utiliser. Ensuite, vous pouvez démarrer chrome.exe sans arguments et lancer des fichiers. * .html à partir du navigateur de fichiers s'ouvrira également à l'aide de ce répertoire utilisateur-dir.

Je me suis heurté à ce problème depuis que je suis passé à Chrome quand il est sorti pour la première fois. Malheureusement, Chrome n'a pas été conçu (ou actuellement suffisamment intelligent) pour inclure des arguments de ligne de commande lorsqu'il s'inscrit comme navigateur par défaut.

J'ai soumis un problème pour demander que Chrome / Chromium inclue des arguments de ligne de commande lors de l'enregistrement en tant que navigateur par défaut, mais ne retenez pas votre souffle sur sa mise en œuvre. (Ils ne sont apparemment pas intéressés à le résoudre.)

Tl; dr: sautez le prochain paragraphe.


Ma première solution – lire le travail – a été créée à l'origine pour créer un fichier .REG pour configurer manuellement la ligne de commande pour chacun des différents endroits qui doivent être enregistrés (pour les fichiers HTM *, pour les protocoles HTTP *, pour les hyperliens, etc. . Bien sûr, cela s'est avéré tout à fait insoutenable, d'autant plus que j'ai utilisé des chaînes extensibles (qui sont exportées vers des fichiers REG comme des textes binaires illisibles / non éditables) afin que je puisse utiliser des variables d'environnement. Je ne recommande pas cette méthode.


Ma prochaine solution (et actuelle) était de créer trois variables d'environnement, browser , browser_args et browser_args_cu . L'ancienne variable détient simplement le chemin d'accès au fichier EXE du navigateur. Le second contient les arguments de ligne de commande pour le navigateur (le cas échéant), tandis que le dernier contient des arguments spécifiques à l'utilisateur (tels que l'emplacement du dossier userdata). Ensuite, j'ai simplement remplacé toutes les instances où un navigateur doit être enregistré (voir la liste ci-dessous) avec la chaîne extensible %browser% %browser_args_cu% %browser_args% -- "%1" et créé un fichier REG (4 Ko).

Maintenant, je peux enregistrer mon "navigateur" de choix en fusionnant mon fichier REG une seule fois. Si je veux changer mon navigateur, je n'ai pas besoin de modifier le fichier REG; Tout ce que je dois faire est de changer une ou deux variables d'environnement (p. Ex. Dans System Properties ), ce qui est infiniment plus facile. De plus, je peux exécuter le navigateur avec la ligne de commande appropriée n'importe où, en tout temps en exécutant la commande courte %browser% %browser_args_cu% %browser_args% -- "%1" et peut même tester d'autres options en les cliquant sur la fin, ou Mieux, mettez les variables dans un fichier batch ou un raccourci (p. Ex., Un browser nommé). Ensuite, par exemple, pour installer une extension sans éprouver le bug paralysant que j'ai essayé d'aider à réparer, je peux juste fermer Chromium, puis exécuter un browser --single-process ou je peux ouvrir la page de l'extension directement comme un browser --single-process https://chrome.google.com/webstore/detail/… : browser --single-process https://chrome.google.com/webstore/detail/…


Liste des lieux dans le registre où Chrome / Chromium est défini:

 [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)