Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > Удалить все файлы, кроме определённого размера


Автор: kuirp 24.1.2020, 12:52
Привет всем!
Ребят, кто шарит, подскажите код батника(или чего другого посоветуйте), примерно такого функционала:

1. Помещаем прогу в  папку с множеством файлов

2. Запускаем - вводим значение размеров файла, которые необходимо оставить
(или делаем drag-n-drop файлов из папки - и прога сама считывает размер этих файлов)

3. Результат - Все файлы, кроме файлов введённых размеров из папки удаляются

С виду просто, но сам додуматься не смог, надеюсь на вашу помощь smile

Автор: Akina 24.1.2020, 14:24
Код

FORFILES /?

Автор: Oldshelf 25.1.2020, 13:59
Код

@echo off
rem Отключения вывода информационных сообщений в консоль

rem Создаём переменную-счётчик
set /A c=0

rem Перебираем все файлы
for %%i in ("*.txt") do (
 rem Если длина файла >100 и <1000 байт
 if %%~zi gtr 100 (
  if %%~zi lss 1000 (
   rem Показываем имя файла
   echo %%i
   rem Удаляем файл
   del %%i
   rem Считаем файл
   set /A c=c+1
  )
 )
)

rem Выводим результат
echo.
echo Removed %c% files
echo.

rem Ждём нажатия клавиши
pause 


Положите в папку с файлами. Отредактируйте: "*.txt" - расширение; "%%~zi gtr 100", "%%~zi lss 1000" - диапазон размеров.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)