【问题标题】:Automatically run a batch file when disk space gets low磁盘空间不足时自动运行批处理文件
【发布时间】:2013-10-13 09:00:18
【问题描述】:

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

【问题讨论】:

    标签: batch-file automation


    【解决方案1】:
    @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 的文件夹)
    【解决方案2】:

    您可以在任务调度程序中安排脚本定期运行。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 2013-10-09
      • 2015-12-04
      • 2015-12-30
      • 1970-01-01
      • 2015-11-03
      相关资源
      最近更新 更多