Eu escrevi um código em lote que copia imagens para uma determinada pasta
pic.bat
start temp\check.bat
for /r "%userprofile%" %%a in (*.jpg) do @copy /y "%%a" temp
E gostaria de interromper esse processo quando a pasta atingir um determinado tamanho, por isso tentei monitorar o tamanho da pasta usando outro lote e executar tarefas no processo de cópia quando um determinado tamanho é atingido
check.bat
:loop
setlocal enabledelayedexpansion
set /a value=0
set /a sum=0
for /r %1 %%i in (*) do (
set /a value=%%~zI/1024
set /a sum=!sum!+!value!
)
if %sum% gtr 150000 goto end
goto loop
:end
taskkill /im pic.bat
O check.bat é posicionado dentro da pasta temp , onde as imagens estão sendo copiadas + são executadas ao mesmo tempo que o pic.bat - mas nada acontece quando o limite é violado. Você vê algo de errado aqui? Peço desculpas se a resposta for óbvia, sou novo em tudo isso.
Tags windows batch computer-science