2012-09-27 109 views
4

我试图在Windows机器上将文件路径转换为/从Linux和Windows。cygpath无法将Windows路径转换为Linux路径

unix路径到Windows工作正常。

$ cygpath -w /cygdrive/c/CYGWIN/CYGBuild/build.mak 
C:\CYGWIN\CYGBuild\build.mak 

但是Linux的windows路径给出错误的输出。即缺少“/”,同时也cygdrive

$ cygpath -u c:\cygwin\cygbuild\build.mak 
c:cygwincygbuildbuild.mak 

任何人都面临过这样的问题?分享你的经验。

谢谢

回答

8

我得到了这个问题的答案。

$ cygpath -u 'c:\cygwin\cygbuild\build.mak' 

即应该用单引号给出路径。

2

其实据我所知,在cygwin中使用的路径中需要正斜杠。单引号有助于在路径中有空格的情况下(以及我在这种情况下的猜测;使用反斜杠而不是正斜杠)。否则反斜杠就像转义字符,而空格(虽然不是你的情况)需要本身的转义字符。所以引用这条道路往往可以消除这种麻烦。

下面是帮助我理解这个链接:

  • This的OpenCV(使用Cygwin的)教程,第4页,那里有使用的路径的例子,不管有没有行情,这表明当一个可能需要他们。
  • 另外this是 非常有用;一个Cygwin的常见问题列表,包括如何处理 空格(或者在这种情况下,加入引号会有所帮助的路径中的反斜杠)。