Git 为什么我的脚本在第二行停止并显示(结束)?
我简化了一个古老的脚本,在看到web上的示例后,逐行读取文件。我有一个file.txt,每行中都有一些数字,我想将每一行都用于git命令 但是,当我运行我的.bat时,它停在第二行 file.txt(如果可能的话,每个数字后面都有一些LF): 在我的批处理.bat之后:Git 为什么我的脚本在第二行停止并显示(结束)?,git,batch-file,Git,Batch File,我简化了一个古老的脚本,在看到web上的示例后,逐行读取文件。我有一个file.txt,每行中都有一些数字,我想将每一行都用于git命令 但是,当我运行我的.bat时,它停在第二行 file.txt(如果可能的话,每个数字后面都有一些LF): 在我的批处理.bat之后: for /F %%a in (..\log_test\file.txt) do ( git blame -L %%a,+1 ..\..\path\to\file.cpp -e ) BURN命令接受编号为365
for /F %%a in (..\log_test\file.txt) do (
git blame -L %%a,+1 ..\..\path\to\file.cpp -e
)
BURN命令接受编号为365和369但之后不继续,显示(END)且不关闭。我在这个网站上找到了很多例子,但我看不出我的错误在哪里
有没有办法给我的git命令指定每行的值
解决方案:
for /F %%a in (..\log_test\file.txt) do call:test %%a
pause
exit/b
:test
echo Treating :[%1]
set /a a = %1
echo %a%
git blame -L %a%,+1 ..\..\to\path\file.cpp -e >> listEmail.txt
echo %errorlevel%
谢谢打个电话试试:
@Echo Off
for /F %%a in (..\log_test\file.txt) do call:test %%a
exit/b
:test
echo Treating :[%1]
git blame -L %1,+1 ..\..\path\to\file.cpp -e
echo %errorlevel%
您可以尝试
echo git bull….
看看会做什么。当您的git
命令本身就是git的批处理包装器时,您可以尝试调用git-bull…
,以避免出现问题。exe@jeb当我使用echo
时,它可以很好地显示所有行,但实际上什么也不做。使用调用
时,它仍然会停在第二行。可能是git bull
修改了log\u test\file.txt
?只是为了更好地理解您的git命令:,+1
做了什么?@sjoy我将验证这是原因,似乎这就是问题所在。当我输入+0时,命令显示error,但脚本按预期继续。但是,我的git命令不再有效……原因是什么?@PA由于编译错误,我从另一个file.txt输出中恢复了这一行。因此,我想在每一行出现错误后,恢复上一个提交人的电子邮件。只是分解处理,并试图找出问题所在is@SachaDee我用你的方法,但它又停在第二行。。。编辑:它表示无法识别…您可以在Git命令后检查errorlevel以获取更多信息:检查我的编辑
@Echo Off
for /F %%a in (..\log_test\file.txt) do call:test %%a
exit/b
:test
echo Treating :[%1]
git blame -L %1,+1 ..\..\path\to\file.cpp -e
echo %errorlevel%