Windows Explorer, WSL, and wslpath
I’m a heavy user of the Windows Subsystem for Linux (WSL) and I’d like to share a useful snippet I use.
Many times I’ll want to open the native Windows Explorer from my current
directory. Thankfully you can call Windows executables directly from the
WSL. The executable is called explorer.exe
. It’s first argument can be
the location that you want the window to start in.
The only tricky thing here is that you can’t execute something like
explorer.exe "$(pwd)"
since the expanded path is going to be in Linux form, not Windows. The
directory separators are going to be forward slashes, and the root of
the path is going to look something like /mnt/c/Users/username/...
.
Fortunately, this is where the command wslpath
comes in! It’s a
wonderful utility to help convert the Linux paths to Windows paths.
So what I have in my .bashrc
is
eh() {
explorer.exe "$(wslpath -w "$(pwd)")"
}
where eh
is short for ‘explore here’. The -w
option tells wslpath
to convert the path from a WSL path to a Windows path. So in summary,
you can use Windows programs in the WSL, and wslpath can help you bridge
the differences between the two systems.