我试图在Windows机器上将文件路径转换为Linux和Windows。
windows的unix路径工作正常。
$ cygpath -w /cygdrive/c/CYGWIN/CYGBuild/build.mak
C:\CYGWIN\CYGBuild\build.mak
但Linux的Linux路径输出错误。即缺少'/'和cygdrive
$ cygpath -u c:\cygwin\cygbuild\build.mak
c:cygwincygbuildbuild.mak
任何人都遇到过这个问题?分享您的经验。
由于
答案 0 :(得分:13)
我得到了这个问题的答案。
$ cygpath -u 'c:\cygwin\cygbuild\build.mak'
即路径应以单引号给出。
答案 1 :(得分:2)
实际上据我所知;你需要在cygwin中使用的路径中使用正斜杠。单引号有助于在路径中有空格(我猜这种情况下;使用反斜杠而不是正斜杠)。否则反斜杠就像转义字符,而空格(虽然不是你的情况)本身需要转义字符。所以引用这条道路往往会消除这种麻烦。
这些链接可以帮助我理解这一点:
答案 2 :(得分:0)
cygpath的-m
选项可能是最简单的解决方案。 Windows软件通常接受/
以及\
。 (可能有一些例外情况,但我使用的开发工具一切都很好。)
$ cygpath -m /cygdrive/c/CYGWIN/CYGBuild/build.mak
C:/Cygwin/CYGBuild/build.mak