Cygwin convert windows path to linux path

From LemonWiki共筆
Jump to: navigation, search

Using Cygwin Utilities: cygpath to convert windows path ↔ to linux path


steps[edit]

  1. launch cygwin
  2. input the following commands after $ symbol

convert windows path to linux path[edit]

local directory e.g. c:\Program Files\

enclose the whole path with single quote symbol
$ cygpath -u 'c:\Users\User\Desktop\'
/cygdrive/c/Users/User/Desktop/

$ cygpath -u 'c:\Program Files\'
/cygdrive/c/Program Files/

remote directory (network drive) e.g. \\remote\test path\

enclose the whole path with single quote symbol
//method1
$ cygpath -u '\\remote\test path\'
//remote/test path/

//method2: replace backward slash with forward slash 
$ path = '\\remote\path\'
$ echo "${path//\\//}"
//remote/path/

$ path = '\\remote\test path\'
$ echo "${path//\\//}"
//remote/test path/

switch to the specified local directory

//method1
$ cd "$(cygpath -u 'c:\Program Files\')"
$ pwd
/cygdrive/c/Program Files

//method2
$ cygpath -u 'c:\Program Files\'
/cygdrive/c/Program Files/

copy the above path & paste to the console
$ cd /cygdrive/c/Program Files/

$ pwd
/cygdrive/c/Program Files

troubleshooting[edit]

enclose the whole path with single quote symbols ex: cygpath -u 'c:\Program Files\' if the path contains spaces
$ cygpath -u c:\Program Files\
met error, press ctrl+c to escape

enclose with double quote symbols after cd command ex: cd "$(cygpath -u 'c:\Program Files\')" if the path contains spaces
$ cd $(cygpath -u 'c:\Program Files\')
-bash: cd: /cygdrive/c/Program: No such file or directory

$ cd '$(cygpath -u 'c:\Program Files\')'
-bash: syntax error near unexpected token `)'

convert linux path to windows path[edit]

local directory

$ cygpath -w '/cygdrive/c/Program Files/'
c:\Program Files\

remote directory (network drive)

$ cygpath -w '//remote/test path/'
\\remote\test path\

reference[edit]