我在cygwin下使用perl来运行imagemagick和LaTeX。由于各种原因,我必须在cygstart下运行pdflatex。我在cygstart命令中有一个带空格的路径,只能使用没有空格的Windows路径正确运行
cygstart c:/stuff/pdflatex.exe c:/Users/mainho~1/Pictures/6-13/directory.tex
mainho~1" is the 8char form of "main home computer
我想要一个perl或unix函数,它需要
/cygdrive/c/Users/main\ home\ computer/Pictures/6-13/directory.tex
并将返回
c:/Users/mainho~1/Pictures/6-13/directory.tex
答案 0 :(得分:1)
您可以在shell中使用cygpath
命令在两种路径格式之间进行转换
从Windows路径转换为unix。
cygpath "D:\\tmp"
请注意,我使用双反斜杠,因为它需要进行转义,因为它具有特殊含义。
从unix转换为Windows
cygpath -w "/usr/bin"
答案 1 :(得分:0)
击:
cygpath -m '/cygwin/c/Users
会回来的
c:/Users
。 -m
代表"混合"意味着正斜杠与卷标识符一起使用。
如果你在没有shell的情况下启动它,你应该删除单引号。
我不记得在Perl中使用单引号是否有相同之处,请亲自尝试。