首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cygpath与变量不一致,因为输入unix到windows的转换

cygpath与变量不一致,因为输入unix到windows的转换
EN

Stack Overflow用户
提问于 2016-05-10 05:14:22
回答 1查看 375关注 0票数 1

我有一个bash脚本,它提示用户拖放一个文件作为输入,然后我需要将该路径转换为windows样式的路径,以便我可以将其用作正在调用的.exe的参数:

代码语言:javascript
复制
echo -e "\nPlease drag and drop your input audio file into this window and hit Enter\n"
read inputfile

inputfilewin=$(cygpath -w -a "${inputfile}")

echo "inputfile: $inputfile"
echo "inputfilewin: $inputfilewin"

这对于没有空格的路径很有效,但my Box Sync文件夹会产生如下响应:

代码语言:javascript
复制
C:\cygwin\home\jimbob\'\cygdrive\c\Users\jimbob\Box Sync\myscripts\testscript\6ch.wav'

但是,如果我只需在命令行中键入cygpath -w -a并拖放相同的文件,我就会得到正确的路径:

代码语言:javascript
复制
C:\Users\jimbob\Box Sync\myscripts\testscript\6ch.wav

请帮帮我,我就是不能让它按我需要的方式工作

EN

回答 1

Stack Overflow用户

发布于 2016-05-10 13:29:11

代码语言:javascript
复制
$ echo  $a
/cygdrive/c/Program Files/Autodesk/DWG TrueView 2016 - English

因此,根据您需要的转义次数:

代码语言:javascript
复制
$ cygpath  -w "$(echo -n $a |sed -e 's/ /\ /g')"
C:\Program Files\Autodesk\DWG TrueView 2016 - English

$ cygpath  -w "$(echo -n $a |sed -e 's/ /\\ /g')"
C:\Program\ Files\Autodesk\DWG\ TrueView\ 2016\ -\ English
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37125590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档