1

我提供了一个 .bat 文件,我需要执行一些脚本。我有适用于 Windows 的 Git bash mintty 控制台,并希望从那里运行它。从普通的 Windows 控制台它可以正常工作,但在薄荷糖中我得到:

$ script.bat
bash: script.bat: command not found

我该怎么做呢 ?

4

2 回答 2

1

您可能尝试执行script.bat位于当前目录中的那个。Windows 命令提示符首先搜索当前目录,找到脚本并执行它。Bash 从不搜索当前目录中的可执行文件,它仅在$PATH.

为了运行位于未在 中指定的路径中的程序$PATH,在 Bash 中,您必须使用包含斜杠 ( /) 的路径来调用它。这意味着.bat要从当前目录运行脚本,您必须将其调用为:

$ ./script.bat
于 2018-03-27T14:22:11.987 回答
0

cmd /c script.bat

或者

cmd /c "$( cygpath -w "/full/path/to/script.bat" )"

请注意,MS 和 Cygwin 中的路径具有不兼容的语法。所以你需要相互转换,如果你需要使用绝对或相对路径运行脚本直到脚本。

更新

发布我的答案后,我做了一些测试,创建批处理文件并直接在 Cygwin/minty 中运行它。它在有和没有的情况下都能正常工作cmd /c$COMSPEC已设置,Cygwin 版本为 1.7.25(不新鲜但涵盖了我的很多作品)。

于 2018-03-27T14:04:12.297 回答