83 votes

Comment ouvrir l'explorateur Windows à partir du répertoire de travail actuel de WSL Shell ?

Lorsque je tape "bash" dans la barre d'adresse de l'explorateur Windows et que j'appuie sur Entrée, cela ouvre le Shell dans ce répertoire. Je me retrouve souvent à vouloir travailler sur des fichiers avec des programmes Windows dans le répertoire de travail que j'ai atteint par Shell. Existe-t-il un moyen simple d'ouvrir l'explorateur depuis l'emplacement atteint par Shell ?

109voto

mgrandi Points 2755

A ouvrir le répertoire actuel dans l'Explorer - utilisez ce qui suit (WSL définit le chemin d'accès Windows par lui-même) :

explorer.exe .

Vous pouvez définir un alias con .bashrc pour une commande personnalisée :

echo 'alias explorer="explorer.exe ."' >> ~/.bashrc
source ~/.bashrc

Maintenant, il suffit d'utiliser :

explorer 

pour ouvrir le répertoire de travail actuel dans l'Explorateur Windows.

35voto

laverya Points 577

Microsoft fournit un programme binaire wslpath dans ce but précis.

explorer.exe `wslpath -w "$PWD"`

Cribbing from le numéro de github en demandant des informations sur l'utilisation, il y a 4 possibilités - -a , -u , -w y -m .

wslpath usage:
    -a    force result to absolute path format
    -u    translate from a Windows path to a WSL path (default)
    -w    translate from a WSL path to a Windows path
    -m    translate from a WSL path to a Windows path, with ‘/’ instead of ‘\\’

    EX: wslpath ‘c:\users’

26voto

Francisco Tena Points 609

Pour WSL2, vous pouvez accéder au répertoire personnel depuis Windows comme ceci :

\\wsl$

Désolé d'être en retard à la fête !

4voto

K7AAY Points 9209

A partir d'une invite WSL Shell, exécutez

explorer.exe "Windows path"

comme

explorer.exe L:

Si L : vers le répertoire souhaité (toute lettre de lecteur inutilisée peut être utilisée pour cela). Vous pouvez établir une correspondance avec des lecteurs réseau dans l'Explorateur, ou avec un dossier local à l'aide de la commande SUBST .

Le problème, c'est que votre dossier /home/USERNAME/ dans WSL apparaît à Windows sous la forme suivante C:\Users\YOURUSERNAME\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\tester . Vous pouvez utiliser SUBST pour transformer cette lettre en lettre de lecteur à la manière de SUBST L: C:\Users\YOURUSERNAME\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\tester puis utilisez un chemin relatif à partir de L : pour votre destination.

Disons que vous avez un dossier WSL /home/YOURUSERNAME/acme/novelties . Vous pourriez vous en approcher avec explorer.exe L: pero explorer.exe L:acme o explorer.exe acme\novelties ne vous amènera pas à l'endroit où vous souhaitez être, mais plutôt au dossier des documents de l'utilisateur de Windows.

4voto

Koichi Nakashima Points 151

J'ai créé un petit outil appelé eopen pour ouvrir facilement l'Explorer. https://github.com/ko1nksm/eopen

Usage: eopen [options] [file | directory | uri]

options:
  -e, --editor      Open the file in text editor ($EOPEN_EDITOR)
  -n, --new         Open the specified directory in new instance of explorer
      --sudo        Use sudo to write the unowned file
  -v, --version     Display the version
  -h, --help        You're looking at it

note:
  The file or the directory allows linux and windows path.
  (e.g. /etc/hosts, C:/Windows/System32/drivers/etc/hosts)

  The uri must start with protocol schema. (e.g http:, https:)

Et voici une autre solution. https://github.com/4U6U57/wsl-open

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X