簡體   English   中英

cygpath與變量不一致作為輸入unix到windows轉換

[英]cygpath inconsistent with variable as input unix to windows conversion

我有一個bash腳本,提示用戶將文件作為輸入拖放,然后我需要將該路徑轉換為Windows樣式路徑,以便我可以將其用作正在調用的.exe的參數:

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"

這適用於沒有空格的路徑,但我的Box Sync文件夾產生如下響應:

C:\cygwin\home\jimbob\'\cygdrive\c\Users\jimbob\Box Sync\myscripts\testscript\6ch.wav'

但是,如果我只是在命令行上鍵入cygpath -w -a並拖放相同的文件,我會得到正確的路徑:

C:\Users\jimbob\Box Sync\myscripts\testscript\6ch.wav

請幫助我無法讓它工作我需要的方式

$ echo  $a
/cygdrive/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

$ cygpath  -w "$(echo -n $a |sed -e 's/ /\\ /g')"
C:\Program\ Files\Autodesk\DWG\ TrueView\ 2016\ -\ English

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM