Interrompe o processo de cópia quando a pasta atinge um determinado tamanho - por que o código não funciona?

1

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.

    
por Daniel 15.04.2017 / 05:20

0 respostas