Calcweb.ru

Информационный портал
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Консольный инструмент Byenow — ускоряем удаление больших папок в два раза

byenow — это инструмент командной строки для Windows, позволяющий быстрее удалять папки

Удаление больших папок или коллекций файлов в Windows может занять некоторое время. Скорость удаления зависит от ряда факторов, но даже если у вас сверхбыстрый компьютер, вы можете заметить, что для удаления всех выбранных файлов требуются минуты или даже часы.

Если вы используете командную строку, вы можете быстрее удалять большие папки в Windows. Если вы хотите еще больше ускорить это, сторонний инструмент byenow может быть вариантом.

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

Совет: проверьте как добавить пользовательские переменные в Windows для более быстрой загрузки папок

Насколько быстрее Byenow? По оценке разработчика, приложение ускоряет удаление в 2 раза по сравнению с самым быстрым вариантом с использованием rmdir. Производительность зависит от множества факторов, включая запоминающее устройство, процессор и нагрузку, размер папки и файлов и тип файлов.

Для общих сетевых ресурсов увеличение скорости в 2 раза «почти гарантировано» по словам разработчика, поскольку в этом процессе играет роль задержка в сети.

Пользователи Windows могут загрузить самую последнюю версию byenow с веб-сайта разработчика. Он предоставляется в виде архива, включающего 32-битную и 64-битную версии приложения.

byenow-удаляйте папки Windows быстрее

Все, что требуется после извлечения, — это запустить инструмент из командной строки. Хорошее начало — запустить byenow /? чтобы получить текст справки, включающий все параметры, поддерживаемые приложением.

Microsoft Windows [Версия 10.0.18363.657]
(c) Корпорация Microsoft, 2019 г. Все права защищены.

C: Users Martin Downloads byenow-0.2 64-бит> byenow /?

Более быстрое удаление папок, версия 0.2, бесплатное ПО, https://iobureau.com/byenow
Синтаксис: byenow.exe [параметры]

Удаляет папку. Подобно rmdir / s …, но многопоточное.

-p —preview перечислить содержимое, но ничего не удалять
-s —staged сначала перечислить содержимое, а затем удалить его

-1 — однострочно отображать прогресс как одну строку
-e —list-errors перечислить все ошибки по завершении
-y — да не запрашивать подтверждение удаления

-t —thread использовать указанное количество потоков
-n —delete-ntapi использовать NtDeleteFile для удаления файлов

* По умолчанию счетчик потоков установлен на количество ядер ЦП. Для локальных папок нет смысла идти выше этого, но для папок в общих сетевых ресурсах может быть полезно попробовать увеличение количества потоков, особенно для соединений с высокой задержкой.

Вы можете использовать основную команду byenow folderpath, например byenow c: test , чтобы удалить тестовую папку в разделе c:, используя столько потоков, сколько ядер ЦП.

Параметр —staged перечисляет папки и файлы в указанной структуре перед их удалением. Вероятно, будет хорошей идеей использовать параметр —preview для запуска теста, ничего не удаляя.

Другие варианты включают добавление запроса подтверждения с помощью —yes, изменение количества потоков с помощью —threads xx или использование API NtDeleteFile с помощью —delete-ntapi.

Вывод

Удаление выполняется быстро при использовании byenow, и программа может быть вариантом для пользователей, которым необходимо регулярно удалять большие папки или которые хотят ускорить удаление одной большой папки один раз. Также доступен исходный код приложения.

Теперь ваша очередь : Как долго вы больше всего ждали при удалении папок?

Быстрое удаление объёмных папок на Windows

Когда вы удаляете огромные папки в Windows, вы заметите, что для завершения процесса требуется довольно много времени.

Читайте так же:
Как включить поддержку High-DPI в Google Chrome для Windows 8 и 8.1

Я держу резервные папки локально на диске, и эти папки приближаются к 30 гигабайтам размером более 140 000 файлов и 350 папок.

Когда мне нужно удалить их снова, это займет много времени, если я запустил операцию удаления в Проводнике Windows. Первое, что происходит, — это то, что Windows запускает вычисления, которые сами по себе могут занять очень много времени.

Затем, когда происходит фактическое удаление, Windows анализирует процесс и публикует обновления в окне операции с файлом.

Для удаления большой папки с помощью проводника на устройствах Windows может потребоваться десять или двадцать минут или даже больше.

Если вы запустите команды удаления из командной строки, вы заметите, что операция выполняется намного быстрее. Вы можете заметить, что для выполнения этой операции требуется всего лишь часть времени, требуемое той же операцией при ее запуске в проводнике.

Мэтт Пилц, который писал об этом еще в 2015 году, сократил с 11 до 29 секунд, что сделало операцию командной строки более чем в 20 раз быстрее, чем удаление через «Проводник».

Недостатком этого является то, что он требует использования командной строки. Мэтт предложил добавить команды в контекстное меню Проводника, чтобы пользователи могли запускать их непосредственно в Проводнике.

Две команды, которые требуются пользователям, — это Del, для удаления файлов и Rmdir, для удаления каталогов.

  1. Нажмите на клавишу Windows, введите cmd.exe и выберите результат для загрузки командной строки.
  2. Перейдите в папку, которую вы хотите удалить (со всеми ее файлами и подпапками). Для этого используйте cd-путь, например cd o:backupstest
  3. Команда DEL /F/Q/S *.* > NUL удаляет все файлы в этой структуре папок и опускает вывод, который улучшает процесс дальше.
  4. Используйте cd .. для перехода к родительской папке.
  5. Запустите команду имя файла RMDIR / Q / S , чтобы удалить папку и все ее подпапки.
  6. Командам может потребоваться некоторое объяснение.

DEL /F/Q/S *.* > NUL

  • /F — принудительно удаляет файлы только для чтения.
  • /Q — включение тихого режима. Вы не спрашиваете, нормально ли удалять файлы (если вы этого не используете, вас спрашивают о любом файле в папке).
  • /S — запускает команду для всех файлов в любой папке в выбранной структуре.
  • *.* — удалить все файлы.
  • > NUL — отключает вывод консоли. Это улучшает процесс, сокращая примерно четверть времени обработки команды консоли.

RMDIR /Q/S имя_папки

  • /Q — Тихий режим не будет запрашивать подтверждение для удаления папок.
  • /S — Запустите операцию во всех папках выбранного пути.
  • имя_папки — абсолютный путь или относительное имя папки, например o:/backup/test1 или test1

Создание командного файла и добавление его в контекстное меню Проводника

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

Однако, если вы часто используете его, вы можете оптимизировать процесс. Вы можете добавить команду в контекстное меню Проводника, чтобы вы могли запускать ее непосредственно там.

Читайте так же:
Windows 10: не скрывается панель задач при просмотре видео. Что сделать, чтобы в полноэкранном режиме пропал ПУСК

Первое, что вам нужно сделать, это создать пакетный файл. Создайте новый текстовый документ в Windows и вставьте в него следующие строки кода.

Сохраните файл как delete.bat впоследствии. Убедитесь, что он имеет расширение .bat, а не расширение .txt.

В пакетном файле содержится запрос безопасности. Это дает вам возможность остановить процесс, что важно, если вы случайно выбрали пункт контекстного меню. Вы можете использовать CTRL-C или щелкнуть по x окна, чтобы остановить процесс. Если вы нажмете любую другую клавишу, все папки и файлы будут удалены без какой-либо опции, чтобы остановить процесс.

Вам нужно добавить командный файл в место, которое является переменной окружения PATH. Хотя вы можете создать свою собственную переменную, вы также можете перенести ее в папку, которая уже поддерживается, например C:Windows.

Выполните следующие действия, чтобы добавить новый пакетный файл для быстрого удаления папок в контекстном меню Проводника Windows.

  1. Нажмите на клавишу Windows, введите regedit.exe и нажмите клавишу Enter, чтобы открыть редактор реестра Windows.
  2. Подтвердите приглашение UAC.
  3. Перейдите в HKEY_CLASSES_ROOTDirectoryshell
  4. Щелкните правой кнопкой мыши на оболочке и выберите «Создать»> «Ключ».
  5. Назовите кнопку «Fast Delete»
  6. Щелкните правой кнопкой мыши на «Быстрое удаление» и выберите «Создать»> «Ключ».
  7. Назовите команду ключа.
  8. Дважды щелкните по умолчанию по команде.
  9. Добавьте значение cmd /c «cd %1 && delete.bat» в качестве значения.

Так как же удалить миллионы файлов из одной папки?


Феерическая расстановка точек над i в вопросе удаления файлов из переполненной директории.

Прочитал статью Необычное переполнение жесткого диска или как удалить миллионы файлов из одной папки и очень удивился. Неужели в стандартном инструментарии Linux нет простых средств для работы с переполненными директориями и необходимо прибегать к столь низкоуровневым способам, как вызов getdents() напрямую.

Для тех, кто не в курсе проблемы, краткое описание: если вы случайно создали в одной директории огромное количество файлов без иерархии — т.е. от 5 млн файлов, лежащих в одной единственной плоской директории, то быстро удалить их не получится. Кроме того, не все утилиты в linux могут это сделать в принципе — либо будут сильно нагружать процессор/HDD, либо займут очень много памяти.

Так что я выделил время, организовал тестовый полигон и попробовал различные средства, как предложенные в комментариях, так и найденные в различных статьях и свои собственные.

Подготовка

Так как создавать переполненную директорию на своём HDD рабочего компьютера, потом мучиться с её удалением ну никак не хочется, создадим виртуальную ФС в отдельном файле и примонтируем её через loop-устройство. К счастью, в Linux с этим всё просто.

Создаём пустой файл размером 200Гб

Форматируем файл в ext4 и монтируем его как файловую систему

Создаем множество пустых файлов (будет работать несколько часов)

Проверяем, что все айноды на ФС исчерпаны.

Размер файла директории

Теперь попробуем удалить эту директорию со всем её содержимым различными способами.

Тесты

После каждого теста сбрасываем кеш файловой системы
sudo sh -c ‘sync && echo 1 > /proc/sys/vm/drop_caches’
для того чтобы не занять быстро всю память и сравнивать скорость удаления в одинаковых условиях.

Удаление через rm -r

$ rm -r /mnt/test_dir/
Под strace несколько раз подряд (. ) вызывает getdents() , затем очень много вызывает unlinkat() и так в цикле. Занял 30Мб RAM, не растет.
Удаляет содержимое успешно.

Читайте так же:
Ashampoo Burning Studio 6 Free — бесплатная программа для записи дисков

Т.е. удалять переполненные директории с помощью rm -r /путь/до/директории вполне нормально.

Удаление через rm ./*

$ rm /mnt/test_dir/*
Запускает дочерний процесс шелла, который дорос до 600Мб, прибил по ^C . Ничего не удалил.
Очевидно, что glob по звёздочке обрабатывается самим шеллом, накапливается в памяти и передается команде rm после того как считается директория целиком.

Удаление через find -exec

$ find /mnt/test_dir/ -type f -exec rm -v <> ;
Под strace вызывает только getdents() . процесс find вырос до 600Мб, прибил по ^C . Ничего не удалил.
find действует так же, как и * в шелле — сперва строит полный список в памяти.

Удаление через find -delete

$ find /mnt/test_dir/ -type f -delete
Вырос до 600Мб, прибил по ^C . Ничего не удалил.
Аналогично предыдущей команде. И это крайне удивительно! На эту команду я возлагал надежду изначально.

Удаление через ls -f и xargs

$ cd /mnt/test_dir/ ; ls -f . | xargs -n 100 rm
параметр -f говорит, что не нужно сортировать список файлов.
Создает такую иерархию процессов:

ls -f в данной ситуации ведет себя адекватнее, чем find и не накапливает список файлов в памяти без необходимости. ls без параметров (как и find ) — считывает список файлов в память целиком. Очевидно, для сортировки. Но этот способ плох тем, что постоянно вызывает rm , чем создается дополнительный оверхед.
Из этого вытекает ещё один способ — можно вывод ls -f перенаправить в файл и затем удалить содержимое директории по этому списку.

Удаление через perl readdir

$ perl -e ‘chdir «/mnt/test_dir/» or die; opendir D, «.»; while ($n = readdir D) < unlink $n >‘ (взял здесь)
Под strace один раз вызывает getdents() , потом много раз unlink() и так в цикле. Занял 380Кб памяти, не растет.
Удаляет успешно.

Получается, что использование readdir вполне возможно?

Удаление через программу на C readdir + unlink

$ gcc -o cleandir cleandir.c
$ ./cleandir
Под strace один раз вызывает getdents() , потом много раз unlink() и так в цикле. Занял 128Кб памяти, не растет.
Удаляет успешно.

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

Как массово удалить файлы в Windows

На жестком диске нашего компьютера накапливаются сотни файлов и папок, которые нам не нужны, которые занимают очень ценное место в нашем хранилище и которые мы хотели бы быстро удалить. За это, Windows предлагает разные возможности, хотя мы также можем использовать внешние приложения.

Как и в реальной жизни, на нашем компьютере мы также можем разработать своего рода цифровой синдром Диогена и бесконтрольно накапливают мусор. Даже если мы не из тех, кто любит накапливать файлы и папки и вообще ничего не удалять, легко, что мы вынуждены делать некоторую очистку.

Как массово удалить файлы в Windows

Либо потому что мы все организовано и что мы можем найти нужный документ быстрее, или потому что мы нужно больше свободного места на жестком диске, интересно узнать, как сделать массовую очистку элементов в Windows.

Читайте так же:
Как закрыть программу принудительно, если она зависла и не реагирует на нажатия...

Хотя мы обычно прибегаем к сторонним приложениям для выполнения многих задач в Windows, потому что это не позволяет нам выполнять их эффективно, в этом случае при массовом удалении документов инструменты, которые Microsoft предоставить в наше распоряжение стоят.

Из проводника

Windows File Explorer позволяет нам выполнять многие основные задачи в управлении элементами нашего внутреннего жесткого диска или внешних устройств хранения, таких как USB-накопители, внешние SSD диски или внешние жесткие диски.

  • Когда мы хотим удалить все папки или файлы:

Что нам нужно сделать, во-первых, это выберите все элементы . Мы можем сделать это тремя разными способами: нажав кнопку Выбрать все кнопка на ленте вверху окна; нажмите CTRL на клавиатуре. + А в то же время; или выберите первый элемент, нажмите Клавиша SHIFT. + щелкнуть по последнему пункту.

После того, как мы выбрали все элементы, чтобы удалить их, у нас есть еще три варианта, почти эквивалентные тем, которые были выбраны: мы можем нажать кнопку Удалить пуговица на ленте вверху; нажмите Клавиша УДАЛИТЬ. На клавиатуре; или откройте вторичное меню правой кнопкой мыши и нажмите Удалить.

  • Когда мы хотим удалить массово, но выбираем контент:

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

Windows позволяет выбирать элементы всего несколькими щелчками мыши. Чтобы активировать ручной выбор, достаточно зажать кнопку Клавиша CTRL. клавиатура. Отсюда мы можем выбирать элементы, нажимая на них. Если они являются смежными элементами, мы можем щелкнуть мышью в пустом месте и выбрать, перетаскивая, все элементы в этой области. Вы можете выбрать несколько вариантов, но всегда, не отпуская клавиши CTRL.

После того, как выбор сделан, мы нажмем кнопку Удалить кнопку на ленте, Клавиша УДАЛИТЬ. или мы будем использовать Удалить команду от правой кнопки.

cinta de opciones en el explorador de archivos de windows

Команды в командной строке

Дело не в том, что использовать системы командной строки слишком сложно, что напоминает нам о старых MS-DOS, для самых ветеранов, но это интерфейс, к которому мы, возможно, не привыкли. Чтобы получить доступ к командной строке, мы будем ищи это в поисковой строке на панели задач или нажмите Выиграть. + R и мы напишем CMD, затем нажимаем Enter и мы внутри.

  • из C: XXXX

Где XXXX — это путь где хранятся все документы, которые вы хотите удалить.

  • дель C: XXXX / +. гифка
  • del / f C: XXXX
  • дел / с C: XXXX
  • RD / с XXXX

Мы будем использовать команду RD (удалить каталог, удалить каталог), чтобы удалить папку в котором мы находимся. Для этого мы должны сначала войти, выполнив команду cd XXXX (где XXXX — имя папки), один раз в пути мы пишем команду для удаления каталога и все его подпапки (с параметром / s).

Comando del simbolo de sistema

Bat файл

Файл «летучая мышь» (или пакетный) — это простой текстовый документ, включающий несколько команды, которые должны быть выполнены напрямую. Мы можем связать это с программированием или созданием кода, но на самом деле это очень просто. Нам просто нужно открыть WordPad, простой текстовый редактор Windows. Мы пишем команды, которые хотим выполнять автоматически, например:

Читайте так же:
Moomash — бесплатный сервис для распознавания аудиодорожки в видеороликах

cd C: Счета-фактуры
rd / s C: Счета-фактуры

Таким образом, мы были бы вход в папку «Счета» на жесткий диск, а затем удаление его вместе со всеми подкаталогами. После того, как команды будут написаны, нажмите «Сохранить как…» и дайте ему описательное имя, которое заканчивается на .bat (расширение, чтобы сделать его исполняемым документом). Таким образом, каждый раз, когда мы дважды щелкаем по нему, эти команды будут выполняться.

С Byenow

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

Мы напишем byenow XXXX -p -s -l -e -y . Команды byenow XXXX (где XXXX — это папка, которую мы хотим удалить) достаточно, чтобы удалить нужный каталог со всем его содержимым.

Однако мы можем добавить другие параметры, такие как указанные: -p создает предварительный просмотр того, что мы собираемся удалить, -s показывает нам содержимое, а затем удаляет его, -l позволяет нам видеть ход удаления, -e — ошибка записи, -y не вызывает подтверждения для массового Удалить.

byenow simbolo de sistema windows

С внешними приложениями

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

WipeFile

Как видно из названия ( Удалить файл это очистка файлов на английском языке) это приложение позволяет нам удалять выбранные нами документы, как это делает Windows, но с добавлением Wipe File полностью очищает информационный след в сейфе.

После удаления выбранных файлов и папок информация перезаписывается различными способами (доступно 14 различных методов), так что никто не может восстановить эти документы . Он доступен для Windows и является бесплатным.

wipefile windows

Активировать KillDisk

Этот инструмент похож на предыдущий. Активный KillDisk предназначен для навсегда удалить всю информацию без возможности восстановления конкретными программами. Вы можете сделать это на целых дисках, таких как внутренние жесткие диски или внешние накопители, такие как USB-накопители, карты памяти или внешние SSD-диски.

Вы можете отказаться от заявки на бесплатные (если он предназначен для личного, непрофессионального использования) прямо из Интернета и доступен только для Окон. Кроме того, чтобы гарантировать, что информация была стерта безвозвратно, он выдает различные типы цифровых сертификатов безопасности.

активный killdisk для окон

TeraCopy

TeraCopy это инструмент, который позволяет очень быстро копировать и перемещать большие объемы информации. В дополнение к этому, инструмент массового стирания очень полезен , поскольку он использует ту же технологию и обеспечивает быстрое удаление информации.

Эта программа способна использовать весь потенциал вашего компьютера, чтобы сконцентрировать его и добиться массового устранения за гораздо меньшее время, чем любой из встроенных вариантов операционной системы Microsoft. Это бесплатные приложение, доступно только для Windows и это также предлагает эти функции для внешних накопителей, таких как USB-накопители или карты памяти.

голоса
Рейтинг статьи
Ссылка на основную публикацию