【发布时间】:2021-04-25 19:25:00
【问题描述】:
我有这个批处理代码,它工作得很好,但是: 每行需要大约 60 秒来执行,我想知道,如果我能更快地做到这一点......
还有 if 语句。我想检查是否每个窗口都关闭了,如果是,我想执行一些操作。但是如果至少有一个窗口仍然打开,那么它应该再次检查它。
:loop
for /f %%i in ('tasklist /v /fi "WINDOWTITLE eq %server1%" /FO Table') do set #1=%%i
for /f %%i in ('tasklist /v /fi "WINDOWTITLE eq %server2%" /FO Table') do set #2=%%i
for /f %%i in ('tasklist /v /fi "WINDOWTITLE eq %server3%" /FO Table') do set #3=%%i
for /f %%i in ('tasklist /v /fi "WINDOWTITLE eq %server4%" /FO Table') do set #4=%%i
for /f %%i in ('tasklist /v /fi "WINDOWTITLE eq %server5%" /FO Table') do set #5=%%i
for /f %%i in ('tasklist /v /fi "WINDOWTITLE eq %server6%" /FO Table') do set #6=%%i
if not %#1%==cmd.exe (
if not %#2%==cmd.exe (
if not %#3%==cmd.exe (
if not %#4%==cmd.exe (
if not %#5%==cmd.exe (
if not %#6%==cmd.exe (
goto backup
)
)
)
)
)
) else (
echo back to loop
goto openWindow
)
【问题讨论】:
-
您需要添加一些其他信息。不清楚你想做什么......
-
我打开了 6 个不同的命名批处理文件。然后我用 setkey 关闭窗口......但我无法确定关闭所有窗口需要多长时间。如果每个窗口都关闭,它应该转到备份。如果现在它应该再次检查它
-
为什么需要详细模式?
标签: batch-file