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 ?

3voto

AquaAlex Points 383

En prenant le meilleur des réponses partielles ci-dessus de @sole-sensei et @laverya, ajoutez l'alias suivant à votre ~/.bash_aliases (ou si pour une raison étrange vous ne voulez pas/avez un fichier d'alias séparé, ~/.bashrc) :

 alias explorer='explorer.exe `wslpath -w "$PWD"`'

Si cela ne vous dérange pas de l'étiqueter à la fin (je ne le fais pas parce que j'aime le garder propre et organisé) :

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

Maintenant, si on pouvait faire en sorte que le nouveau terminal Windows prenne en charge ctrl-C y ctrl-V (clic droit ? ! Vraiment Microsoft ? !?) nous serions vraiment prêts !

2voto

Inyoka Points 121

Configurer en exécutant cette commande :

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

Utilisation :

open 'directory name'

Bien que similaire aux réponses précédentes, il vous permet de définir manuellement le chemin, ce qui est plus habituel pour les outils en ligne de commande. Je trouve également cette option plus intuitive et plus rapide à taper que 'explorer'.

1voto

Damo Points 111

J'ai tendance à utiliser la commande cmd.exe /c start . Quand vous l'aurez fait, vous devriez voir l'explorateur de fichiers ouvert dans le répertoire où vous vous trouvez.

damo@laptop:/mnt/c/Windows/System32$ pwd
/mnt/c/Windows/System32    
damo@laptop:/mnt/c/Windows/System32$ cmd.exe /c start .
  <opens file explorer in c:\Windows\System32>
damo@laptop:/mnt/c/Windows/System32$ cd ~
damo@laptop:~$ pwd
/home/damo
damo@laptop:~$ cmd.exe /c start .
  <opens file explorer in c:\Windows\System32>
damo@laptop:~$ cd /mnt/c/stuff
damo@laptop:~$ cmd.exe /c start .
  <opens file explorer in c:\stuff>

J'ai configuré les éléments suivants pour créer un alias alias start='cmd.exe /c start qui vous permettent ensuite de simplement exécuter start . à partir de n'importe quel répertoire.

1voto

Voici ma version du code

explorer() {
    pwd -P | xargs wslpath -w | sed "s~C:\\\Users\\\User\\\Desktop~d:~" | xargs -0 explorer.exe
}

J'utilise subst dans Windows. Le site sed convertit cette fonction pour vous. Si vous n'utilisez pas cette fonction, vous pouvez l'exclure.

Note : J'ai posté cette réponse même s'il y en a déjà beaucoup car aucune d'entre elles ne couvre symlink o subst des lecteurs.

0voto

Hải Vũ Points 1

Ajoutez cette fonction ci-dessous à votre .bashrc :

e(){
    path=$(wslpath -w "$1")
    /mnt/c/Windows/explorer.exe "$path"
}

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