Назад | Перейти на главную страницу

Как написать командный файл для удаления вложенных папок и файлов из папки по времени

мне нужно удалять файлы из папки каждые 4 часа. В противном случае папка хранилища будет заполнена файлами и рабочий сервер зависнет.

Вы можете создать пакетный файл для удаления файлов в подпапке, а затем создать запланированную задачу для запуска пакетного файла каждые 4 часа.

Поскольку планировщик Windows не позволяет выполнять почасовые задачи, вам придется перейти к расширенным параметрам и создать несколько ежедневных задач, которые смещены друг от друга на 4 часа.

Чтобы удалять все файлы из папки хранения, скажем, C: \ Temp, каждые четыре часа, я бы использовал следующий битерскрипт.

# Script delete.txt
while (true)
do
    # Collect a list of all files.
    var str list ; lf -n "*" "C:\Temp" ($ftype=="f") > $list

    # Delete all files
    while ($list <> "")
    do
        var str file ; lex "1" $list > $file
        system delete ("\""+$file+"\"")
    done

    # Sleep 4 hours.
    sleep (60*60*4)
done

Битерскриптинг можно скачать с http://www.biterscripting.com . Последний раз я проверял, это было бесплатно.

Я заключаю $ file в команде удаления в двойные кавычки на случай, если файл или путь могут содержать пробелы или другие специальные символы.

Патрик

Существует сценарий vbs (google для deleteoldfiles.zip), который мы используем для удаления файлов старше определенного количества дней с нашего файлового сервера. Не уверен, что его можно настроить на работу за 4 часа, но это было бы хорошим местом для начала.