在mintty中运行.bat文件

时间:2018-03-27 13:49:46

标签: bash git batch-file git-bash mintty

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

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

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可能尝试执行位于当前目录中的script.bat。 Windows命令提示符首先搜索当前目录,查找脚本并执行它。 Bash从不搜索当前目录中的可执行文件,只在$PATH中声明的路径中查找它们。

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

调用
$ ./script.bat

答案 1 :(得分: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(不是很新鲜,但涵盖了我的很多作品)。