项目作者: riag

项目描述 :
windows 和 WSL 的路径互相转换,以及获取 windows 下的系统目录
高级语言: Python
项目地址: git://github.com/riag/pywslpath.git
创建时间: 2018-11-29T03:01:18Z
项目社区:https://github.com/riag/pywslpath

开源协议:Apache License 2.0

关键词:
windows-subsystem-for-linux wsl

下载


pywslpath

windows 和 WSL 的路径互相转换,以及获取 windows 下的系统目录

安装

使用 setuptools 来安装

  1. python3 setup.py install

或者使用 pip 来安装

  1. pip3 install pywslpath

用法

因为该脚本支持把 WSL Linux 下的所有路径转成 Windows,
所以要设置 WSL_ROOTFS_DIR 环境变量,指向当前 WSL Linux 安装的路径

  1. pywslpath [OPTIONS] [PATH]

参数

  1. -w : 输出 windows 格式的路径
  2. -d/--doubledash-path : `\`, 只有使用 -w 参数才有效,
  3. 这个参数一般在 linux 的 shell 里使用
  4. -u : 输出 linux 格式的路径
  5. --desktop : 获取 windows 的 DESKTOP 路径
  6. --appdata : 获取 windows 的 ApplicationData 路径
  7. --localappdata : 获取 windows 的 LocalApplicationData 路径
  8. --temp : 获取 windows 的 TEMP 路径
  9. --sysdir : 获取 windows 的 System 路径
  10. --windir : 获取 windows 的 Windows 路径
  11. --start-menu : 获取 windows 的 StartMenu 路径
  12. --startup : 获取 windows 的 Startup 路径
  13. --home : 获取 windows 的当前用户路径
  14. --program-files : 获取 windows 的 ProgramFiles 路径

例子

  1. pywslpath -w -d /mnt/c/
  2. pywslpath -w -d test
  3. pywslpath -w -d --localappdata
  4. pywslpath -u c:/Windows
  5. pywslpath -u c:\\Windows
  6. pywslpath -u "c:\Windows"

使用场景

支持使用 windows 路径进行 cd

在 zsh/bash 里定义以下函数

  1. function wd(){
  2. p=`pywslpath -u $1`
  3. cd $p
  4. }

wd 函数支持使用 windows 路径进行 cd

打开文件

可以在 WSL Linux 下调用 windows 下 的 VSCode/Atom 编辑器打开文件, 在 zsh/bash 里定义以下函数

  1. VSCODE_BIN='code'
  2. function vc(){
  3. p=`pywslpath -w -d $1`
  4. $VSCODE_BIN -r $p
  5. }
  6. function vcn(){
  7. p=`pywslpath -w -d $1`
  8. $VSCODE_BIN -n $p
  9. }
  10. win_local_appdata_winpath=`pywslpath -w -d --localappdata`
  11. ATOM_BIN_WINPATH="$win_local_appdata_winpath\\atom\\atom.exe"
  12. function ac(){
  13. p=`pywslpath -w -d $1`
  14. powershell.exe "Start-Process -FilePath \"$ATOM_BIN_WINPATH\" -ArgumentList \"$p\""
  15. }
  16. function acn(){
  17. p=`pywslpath -w -d $1`
  18. powershell.exe "Start-Process -FilePath \"$ATOM_BIN_WINPATH\" -ArgumentList \"-n\", \"$p\""
  19. }

其他

使用 windows 默认的软件打开目录或者文件, 在 zsh/bash 里定义以下函数

  1. function open(){
  2. if [ "$1" = "--help" ];then
  3. pywslpath $1
  4. return
  5. fi
  6. p=`pywslpath -w -d $1`
  7. powershell.exe start "\"$p\""
  8. }