gpt4 book ai didi

windows - 如何在批处理文件脚本中循环打印程序的返回值?

转载 作者:可可西里 更新时间:2023-11-01 11:55:24 25 4
gpt4 key购买 nike

任务是运行一个程序(同一个程序)十次,每次运行输出退出码(main函数的返回值)。所以我想运行一个批处理文件 (Windows),如下所示:

FOR /l %%x IN (1,1,10) DO (
AutomatedTest.exe cip.log
ECHO %ERRORLEVEL%
)

如果您凭直觉思考,上面的代码应该可以做到,但它不起作用,因为它运行的代码实际上是:

(
AutomatedTest.exe cip.log
ECHO 0
)

这 block 被执行了10次。

关于如何让它发挥作用的任何想法?谢谢!

最佳答案

你需要的是延迟变量扩展:

FOR /l %%x IN (1,1,10) DO (
AutomatedTest.exe cip.log
ECHO !ERRORLEVEL!
)

要启用延迟变量扩展,请在批处理之前使用 SETLOCAL ENABLEDELAYEDEXPANSION 或使用 CMD.EXE/V:ON 启动命令 shell。

另一种方法是使用子程序:

FOR /l %%x IN (1,1,10) DO CALL :Test
GOTO :EOF

:Test
AutomatedTest.exe cip.log
ECHO %ERRORLEVEL%
GOTO :EOF

另一种方法是使用 IF ERRORLEVEL

关于windows - 如何在批处理文件脚本中循环打印程序的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18443756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com