Bash 提示符中的 % 转义字符

Bash 提示符中的 % 转义字符

我有一个 bat 文件 Sig.Bat,其中包含:

rdiff.exe -b 10240 signature 'D:/test/NZ 100% Pure/ABC.txt' 'D:/test/NZ 100% Pure/ABC.txt.DSS'

我使用命令执行 Sig.Bat

bash -l -c '"D:/test/Sig.bat"'

我收到以下错误并且没有创建文件。

librsync:错误:(rs_file_open)打开“D:/test/NZ 100/test/NZ 100 Pure/ABC.txt.DSS”进行读取时出错:没有此文件或目录

而如果我从文件夹和 bat 文件中删除 % 符号,则会创建签名文件。

答案1

Cygwin 无法理解 Windows 文件路径。您可以使用该cygpath实用程序获取相应的 cygwin 名称:

cygpath 'D:/test/NZ 100% Pure/ABC.txt'

相关内容