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

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

Ответить
Настройки темы
CMD/BAT - [решено] Скрипт удаляющий папки размером меньше 100 кбайт в директории

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


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

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


Есть директория в которой сотни папок(с подпапками) в которых должны храниться файлы общим размером от 400 кбайт.
Но часть этих файлов из за ошибки была когда то уничтожена, и сейчас хранится куча, или совсем пустых или с не полным комплектом файлов, папок, которые нужно удалить.
Нужен Скрипт удаляющий папки размером меньше 100 кбайт в директории.
Заранее Огромное Спасибо!

Отправлено: 08:42, 27-04-2016

 

Забанен


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

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


Код: Выделить весь код
@echo off
  setlocal&chcp 1251>nul
    for /f %%i in ('dir /ad /s /b') do (
      for /f "tokens=3" %%j in (
        'robocopy "%%~i" "%tmp%" /l /bytes^
        /nfl /ndl /xj /njh ^| find /i "байт"'
      ) do if %%j lss 1024 rd /q /s "%%~i"
    )
  endlocal&chcp 866>nul
exit /b

Отправлено: 10:22, 27-04-2016 | #2



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

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


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo off

Set "In=D:\Dir100"
Set "Size=102400"

SetLocal EnableExtensions EnableDelayedExpansion

for /f "usebackq delims=" %%d in (`dir /b /A:D "%In%\" 2^>nul`) Do (
	for /f "usebackq tokens=3" %%i in (`dir /s /-c /A:-D "%In%\%%d\" 2^>nul`) Do Set "A=!B!" & Set "B=%%i"
	Set "BB=!A:~0,1!"
	Set /A B=!BB:~0,1!*1 2>nul
	If Not "!B!"=="!BB!" Set "A=0" 
	If !A! LSS %Size% Rd "%In%\%%d" /q /s
)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 17:09, 27-04-2016 | #3


Ветеран


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

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


Код: Выделить весь код
@echo off
for /f "delims=" %%A in ('dir/ad/b/s "papka"') do (
 for /f "tokens=3" %%a in ('dir/a-d/s/-c "%%A"^|sort/+2147483647^|more +1^|set/p ds^=^^^&cmd/v/c echo:!ds!') do (
  set/a ds=%%a/1024&cmd/v/c if !ds! lss 100 echo:Удаляем папку [rd/s/q "%%A"]
))
pause>nul
echo:Удаляем папку и [] - убрать, если все устраивает.

Отправлено: 17:22, 27-04-2016 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Intel NUC: мини-компьютер с размером платы 10х10 см и современным процессором за $100 OSZone News Новости железа 0 02-05-2012 17:30
CMD/BAT - [решено] удалить все папки в директории, которые меньше текущего месяца SnakeSel Скриптовые языки администрирования Windows 5 12-10-2011 00:43
VBS/WSH/JS - [решено] скрипт ищущий в системе папку Valve и удаляющий её T3D Скриптовые языки администрирования Windows 12 18-01-2011 17:58
OCZ предлагает SSD-накопитель стоимостью меньше 100 долларов boss911 Новости железа 0 12-03-2010 22:46
Проблемы с отарпвкой файла размером выше 100 кб Vady Microsoft Windows NT/2000/2003 3 04-01-2009 18:01




 
Переход