用cygwin中的参数调用分号文件

我需要从CYGWIN中调用一个batch file,但是其中一个参数是一个包含分号的类似于path的string。 通常在Windows命令行中,可以用引号括起这个参数(以后需要修改)。 但是这种方法在cygwin中并没有起作用

示例批次(回显前3个参数)

echo %1 echo %2 echo %3 

Windows cmd调用

 file.bat "a;b" c 

输出继电器

  "a;b" c empty 

Cygwin电话

  ./file.bat "a;b" c 

产量

  a b c 

Solutions Collecting From Web of "用cygwin中的参数调用分号文件"

在引号内的任何位置加上空格将确保带分号或逗号的参数正确传递。 尽管我不得不承认,我不理解这种行为,但它似乎是完美无缺的。

 ./file.bat "a;b " c 

产量

 "a;b" c 

正如他在评论中提到的@jeb,可以通过像这样访问参数变量来修剪封闭引号

  %~1