批处理脚本不会退出

时间:2014-05-11 19:39:27

标签: windows git batch-file

我的批处理脚本包含以下代码:

"C:\Program Files (x86)\Git\bin\sh.exe" --login -i -c "git fetch -q --all -p"

当我通过双击运行它时,或者当任务调度程序启动它时,它不会在完成后关闭窗口。 我试过了Start"" " C:...,退出0,cmd \ c,GOTO:EOF,似乎没什么用。

2 个答案:

答案 0 :(得分:0)

我相信它是因为您正在打开一个正在调用sh.exe的窗口,在另一个窗口中打开它。在第一个窗口关闭之后没有什么可以告诉那个窗口。

尝试将& exit添加到git命令的末尾。

"C:\Program Files (x86)\Git\bin\sh.exe" --login -i -c "git fetch -q --all -p & exit"

答案 1 :(得分:0)

由于某些原因,使用C:\Program Files (x86)\Git\bin\sh.exe调用会导致两个ssh-agent.exe进程即使在调用exit后也不会停止。所以我的解决方案是改为使用调用C:\Program Files (x86)\Git\cmd\git.exe的git命令,并且不会让ssh-agent.exe进程运行并允许命令窗口关闭。