为什么我的脚本BAT停在第二行显示(END)?

Why my script BAT stop at the second line and display (END)?

在网上看到例子后,我简化了一个古老的脚本来逐行读取文件。我有一个 file.txt 每行都有一些数字,我想将每一行都用于 git 命令。

但是当我 运行 我的 .bat 时,它停在第二行。

file.txt(如果有帮助的话,我准确地说每个数字后面都有一些 LF):

365
369
389
393
413
417
437
491
515
566
587
610
681
887
964

在我的 batch.bat 之后:

for /F %%a in (..\log_test\file.txt) do (
    git blame -L %%a,+1 ..\..\path\to\file.cpp -e

    )

blame命令取号365369但之后没有继续,显示(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%