当文件夹达到一定大小时停止复制过程 - 为什么代码不起作用?

当文件夹达到一定大小时停止复制过程 - 为什么代码不起作用?

我编写了一个批量复制图片到特定文件夹的代码

图片处理程序

start temp\check.bat
for /r "%userprofile%" %%a in (*.jpg) do @copy /y "%%a" temp

一旦文件夹达到一定大小,我想停止这个过程,因此我尝试使用另一个批处理来监视文件夹大小,一旦达到一定大小,就使用 taskkill 来终止复制过程。

检查命令

: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

check.bat 位于温度文件夹,图片被复制到该文件夹​​中 + 它与 pic.bat 同时运行 - 但当超出限制时什么也没有发生。你觉得这里有什么问题吗?如果答案很明显,我很抱歉,我对这一切都不熟悉。

相关内容