Batch file 磁盘空间不足时自动运行批处理文件

Batch file 磁盘空间不足时自动运行批处理文件,batch-file,automation,Batch File,Automation,我正在编写一个批处理脚本来自动删除超过7天的特定文件夹,以防止磁盘被填满。是否有任何方法可以自动执行此操作,以便在可用磁盘空间低于2GB时运行?或者我只需要自动化任务并让它在启动时检查是否满足运行要求?您可以在任务计划程序中安排脚本定期运行 对于在磁盘空间不足时删除文件的脚本,它需要一直运行并定期检查自身 @echo off set space_cmd=2147483648 :loop FOR /F "delims=" %%i IN ('dir c:\') DO set space=%%i se

我正在编写一个批处理脚本来自动删除超过7天的特定文件夹,以防止磁盘被填满。是否有任何方法可以自动执行此操作,以便在可用磁盘空间低于2GB时运行?或者我只需要自动化任务并让它在启动时检查是否满足运行要求?

您可以在任务计划程序中安排脚本定期运行

对于在磁盘空间不足时删除文件的脚本,它需要一直运行并定期检查自身

@echo off
set space_cmd=2147483648
:loop
FOR /F "delims=" %%i IN ('dir c:\') DO set space=%%i
set process_01=%space%
set process_02=%process_01:~-26%
set process_03=%process_02:.=%
set process_04=%process_03: bytes free=%
set result=%process_04%
cls
echo.
echo.
title %result%/%space_cmd%
echo Free space: %result%
echo Limit: %space_cmd%
if "%result%" LEQ "%space_cmd%" goto command
ping -n 2 127.0.0.1>nul
goto loop
:command
mkdir c:\temp_7_days_older
robocopy c:\* c:\temp_7_days_older /move /minage:7 /maxage:10
rmdir /q /s c:\temp_7_days_older
goto loop

试试这个

谢谢。你知道根据文件夹名称进行选择的方法吗(只能复制名称为YYYY-MM-DD的文件夹)