Batch file Windows批处理脚本运行两次

Batch file Windows批处理脚本运行两次,batch-file,Batch File,我正在尝试运行一个批处理脚本,该脚本使用以下行重定向到日志文件: call :START 1>>%Log_File% 2>>&1 重定向到该文件可以正常工作。但是,一旦脚本完成,它将再次运行并显示到控制台。 我确认,只有在脚本完成并输出到日志文件后,它才会再次运行并输出到屏幕(它运行了大约一个小时,因此很明显,输出中有时间戳) 如何防止这种情况发生?很可能,此行是脚本的一部分,后跟标签:Start。调用标签后,脚本将继续运行。将一个goto:eof放在:Star

我正在尝试运行一个批处理脚本,该脚本使用以下行重定向到日志文件:

call :START 1>>%Log_File% 2>>&1
重定向到该文件可以正常工作。但是,一旦脚本完成,它将再次运行并显示到控制台。 我确认,只有在脚本完成并输出到日志文件后,它才会再次运行并输出到屏幕(它运行了大约一个小时,因此很明显,输出中有时间戳)


如何防止这种情况发生?

很可能,此行是脚本的一部分,后跟标签
:Start
。调用标签后,脚本将继续运行。将一个
goto:eof
放在
:Start
标签之前。

可能,此行是脚本的一部分,后跟标签
:Start
。调用标签后,脚本将继续运行。将一个
goto:eof
放在
:Start
标签之前。

我遇到了同样的问题,我能够通过在调用行的上方添加一行来解决它

EXIT /B %ERRORLEVEL%

这对我来说是有效的(我完全不确定这是否是正确的方法)。

我面临同样的问题,我能够通过在调用行的上方添加一行来解决它

EXIT /B %ERRORLEVEL%

这对我来说很有效(我完全不确定这是不是正确的方法)。

也许,这一行是脚本的一部分,后面是标签
:Start
。调用标签后,脚本将继续运行。在
:Start
标签前放置一个
goto:eof
。@Stephan,写下你的评论作为正式答案,以便其他人更好地使用。@YoavK,继续,请在你的问题中提供所有相关的代码。由于您正在调用标签,因此我们确实需要查看标签中调用和代码结尾之间的所有代码。很可能,此行是脚本的一部分,后面跟着标签
:Start
。调用标签后,脚本将继续运行。在
:Start
标签前放置一个
goto:eof
。@Stephan,写下你的评论作为正式答案,以便其他人更好地使用。@YoavK,继续,请在你的问题中提供所有相关的代码。因为您要调用标签,所以我们需要查看标签中调用和代码结尾之间的所有代码。没有“正确的方式”这样的东西。这完全取决于您的需要。
Goto:eof
exit/b
都结束了脚本<代码>退出/b还可以返回错误级别,这在某些用例中可能很有用。感谢@Stephan的进一步解释:)没有“正确的方法”这样的东西。这完全取决于您的需要。
Goto:eof
exit/b
都结束了脚本<代码>退出/b还可以返回错误级别,这在某些用例中可能很有用。感谢@Stephan提供进一步的解释:)