Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 为什么我的脚本在第二行停止并显示(结束)?_Git_Batch File - Fatal编程技术网

Git 为什么我的脚本在第二行停止并显示(结束)?

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

我简化了一个古老的脚本,在看到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命令接受编号为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%

您可以尝试
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%