通过批处理脚本在 Windows 上运行的可执行文件中添加执行时间和进度条以达到所需数量

通过批处理脚本在 Windows 上运行的可执行文件中添加执行时间和进度条以达到所需数量

这是我的后续问题以前的问题。非常感谢@iTwasnTme,以下脚本(my_loop_exe.bat)在我的 Windows 10 PC(x64,8 个 CPU)上运行所需数量的可执行文件(EXE)。

@echo off & setlocal

for /d /r %%i in (*)do if exist "%%~i\run_jobs.bat" call %:^) "%%~dpnxi" "run_jobs.bat"

endlocal && goto :eof

%:^)
if not "%~1" == "" (set "_path=%~1" && set "_bat=%~2")
for /f %%i in ('wmic process where "name like '%%cmd.exe%%'" get commandline ^| findstr /c:"%_bat%" ^| find /v /c ""
    ')do if %%~i leq 6 (start "" /b /d "%_path%" %comspec% /s /c "%_path%\%_bat%") else >nul (timeout 10 & goto %:^)) 

给定 20 个目录,我一直在尝试为上述脚本添加执行时间和进度条。我发现了几个建议这里这里, 和这里。我尝试使用timecmd.bat方法,将其添加到操作系统路径,并将其与上述脚本一起使用,如第一个网络链接中所建议的那样。

timecmd.bat my_loop_exe.bat

它没有按预期工作。时间只在开始时显示。这是大概因为上面的my_loop_exe.bat批处理脚本不会在所有目录中的 EXE 执行完成后自动返回到 CMD。我需要点击它ENTER然后它才会返回。

我也尝试过:

echo %time%
my_loop_exe.bat
echo %time%

作为单独的.bat文件并通过 CMD 运行。它在脚本开头打印了两次时间,然后出现了相同的行为,上面的循环批处理脚本运行,但在处理完所有目录后不会返回控制台(我不明白为什么)。

如何向上述脚本添加执行时间,以便它显示脚本的开始时间、结束时间和总执行时间以及进度条(无限进度条,@iTwasnTme 让我意识到添加 % 进度条可能不准确)?

相关内容