Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление старых файлов/папок если их кол-во больше n

Ответить
Настройки темы
CMD/BAT - [решено] Удаление старых файлов/папок если их кол-во больше n

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!
Помогите со скриптом, который будет сканировать нужную папку (например: C:\aaa), и если в нем файлов больше чем n (например 10), то удалить самый старый файл. И тоже самое нужно для папок.
Очень надеюсь на вашу помощь.

Отправлено: 14:32, 03-07-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата greenOwl:
то удалить самый старый файл »
Один файл?

Цитата greenOwl:
И тоже самое нужно для папок. »
Домашнее задание?

Отправлено: 15:23, 03-07-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Хотя бы для одного файла, но лучше конечно, столько файлов, что бы осталось n.
Не, не домашка, как у всех, архивирование )

Отправлено: 15:43, 03-07-2013 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Файлы:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sFolder=C:\Documents and Settings\User\Мои документы\Мои рисунки\PicPic
set /a iCount = 10

for /f "skip=%iCount% usebackq delims=" %%i in (
	`dir /b /a:-d /o:-d /t:w "%sFolder%"`
) do echo del /f /q "%sFolder%\%%~i"

endlocal
exit /b 0
Если файлы, подлежащие удалению, отображаются верно — уберите «echo» перед «del» для их реального удаления.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:07, 03-07-2013 | #4


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, спасибо огромное, а то я искал, не нашел, думал, что на этом и остановлюсь

Отправлено: 16:29, 03-07-2013 | #5


Аватара для Freddy1984

Старожил


Сообщения: 147
Благодарности: 9

Профиль | Цитировать


Iska, а для папок не подскажете как?

Отправлено: 10:36, 06-07-2018 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Freddy1984:
Iska, а для папок не подскажете как? »
Примерно так:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sFolder=C:\Documents and Settings\User\Мои документы\Мои рисунки\PicPic
set /a iCount = 10

for /f "skip=%iCount% usebackq delims=" %%i in (
	`dir /b /a:d /o:-d /t:w "%sFolder%"`
) do echo rd /s /q "%sFolder%\%%~i"

endlocal
exit /b 0
Будьте крайне осторожны! Не проверялось! Если каталоги, подлежащие удалению, отображаются верно — уберите «echo» перед «rd» для их реального удаления.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:47, 06-07-2018 | #7


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Приветствую. Подскажи, как написать bat файл и сделать его приложением. Что бы в нем можно было выбирать сетевые или просто пути для разделов в которых хранятся файлы и папки, и для каждого раздела можно было бы указывать какое количество файлов допустимо в данном разделе и какой объем памяти должен быть для данного раздела, если он превышается что бы программа удаляла старые архивы файлы или папки. Пример для 1С бухгалтерии выделен раздел 1 ТБ но он вечно заполняется и уследить не успеваю, так чтобы при его критичном заполнении удалялись старые резервные копии, либо при превышении n-го количества фалов в разделе удалялись старые. За ранее большое спасибо.

Последний раз редактировалось KaПaTы4, 09-04-2019 в 11:40.


Отправлено: 10:35, 09-04-2019 | #8


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата KaПaTы4:
сделать его приложением »
найдите "Bat_To_Exe_Converter", например.
Цитата KaПaTы4:
выбирать сетевые или просто пути для разделов »
Цитата KaПaTы4:
указывать какое количество файлов »
поставьте в переменных параметры
set "sFolder=%~1"
set /a iCount =%~2
и запускайте так: "name.bat" "Диск:\Папка" "Число файлов"
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:12, 09-04-2019 | #9


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Извините за режим чайника. Немного не въехал(((
set "sFolder=%~1"
set /a iCount =%~2
что выполняют данные п

Отправлено: 06:42, 10-04-2019 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление старых файлов/папок если их кол-во больше n

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] Кол-во файлов в папке. Balancer Microsoft Windows 7 11 21-10-2012 20:07
CMD/BAT - Удаление старых файлов по имени файлов Bиктор Скриптовые языки администрирования Windows 1 19-04-2010 03:37
[решено] как получить список, если кол-во строчек не постоянно Russo AutoIt 2 18-12-2009 10:41
кол-во файлов в папке rivera Microsoft Windows NT/2000/2003 3 29-06-2006 09:38
максимальное кол-во файлов на Cd-ROMе Dr Mad Хочу все знать 1 05-09-2005 06:19




 
Переход