У меня был пользователь с более чем 100 000 файлов в одном каталоге. Машина блокируется и перестает работать в течение длительного времени, в то время как Explorer заполняет память, и машина может выйти из строя. Есть ли простой способ сброса каталога и содержимого? Мы попытались использовать командную строку deltree, и это не показалось мне намного лучше.
DaveF
Extra -
У нас была эта проблема несколько раз с одним и тем же пользователем (фактически клиентом). Программа создает сотни тысяч временных файлов во время работы. Если программа работает правильно, это не имеет значения, поскольку они удаляются, замедляя, как это закончено с этим. Но время от времени это умирает, оставляя беспорядок файлов. Мы пробовали использовать методы rmdir, del и т. Д., И они быстрее, чем с помощью проводника, но в целом мы сталкиваемся с теми же проблемами. Поврежден раздел, есть необъяснимый заблокированный файл, у какого-то файла есть проблема с правами доступа, которая мешает удалению работать. Обычно эти проблемы можно решить с помощью перезагрузки, но в этом случае, поскольку это критическая система, которую мы не можем использовать во время производства. В Unix вы можете просто выполнить команду rm -rf и т. Д., И это быстро, и, как правило, с этим проблем нет.
КСТАТИ - приложение меняется, но это не будет запущено в течение некоторого времени, и я, хотя эта проблема, вероятно, была интересна для других.
Обновление - потому что у нас в системе есть MKS Nutcracker (без утилит командной строки), мы заставили программиста собрать простой rm. Это на несколько порядков быстрее, чем del / deltree и т. Д. Мне кажется странным, что не существует такого простого приложения, доступного в качестве стандартного инструмента администрирования Windows.
источник
Ответы:
Вы можете использовать
rmdir
:Флаги:
/s
означает рекурсивное удаление,/q
это «тихий» режим.источник
Я использую, чтобы иметь эту проблему с серверами, которые я администрировал. Пропустите проводник и используйте командную строку. Перейдите к папке и «Del . »
Таким образом вы избежите накладных расходов с графическим интерфейсом (мусорщик - мусор) и мусорным баком.
источник
Если это не требуется для устаревших 16-разрядных приложений, попробуйте повысить производительность, отключив создание коротких имен файлов. Это может оказать значительное влияние на операции с каталогами с большим количеством файлов.
Тогда используйте:
RMDIR / S / Q [диск:] путь
удалить каталог со всеми его файлами.
источник
Как насчет перемещения этой временной папки на другой диск / раздел? Вместо удаления всего мусора, вы можете отформатировать диск (графический интерфейс или командную строку). С быстрым форматированием это должно быть достаточно быстро.
источник
Это сочетание предыдущих постов
откройте командное окно:
File -> Run -> cmd
Удалить каталог
rmdir /s /q FOLDERNAME
ИЛИ ЖЕ
Удалить шаблон файлов
cd \....\directory
del *.[something]
Как вы отметили в своем вопросе, проводник Windows может сильно замедлить работу.
После просмотра вашего обновления, у меня есть один из моих собственных
Проверьте этот список файлов для удаления
источник
У меня нет ничего лучше, чем del и rm, но даже если они занимают очень много времени, это не должно привести к повреждению раздела. Заблокированные файлы могут быть вызваны тем, что программа, которая их создала, неожиданно умерла.
Иногда, даже если файлы не могут быть удалены, их можно переместить в другой временный подкаталог. Я просто создаю подкаталог _todel и перемещаю их туда. Обычно это работает лучше, если я перемещаю весь каталог на один уровень выше, чем сами файлы.
Кроме этого, единственный способ ускорить удаление - это дефрагментировать жесткий диск. Временным обходным путем может быть перемещение этого каталога в общий ресурс samba или использование NTFS-перехода на переносной жесткий диск USB. (Небольшой раздел будет лучше и быстрее, чем весь жесткий диск). Затем вы можете просто извлечь жесткий диск и выполнить быстрое форматирование на другом ПК.
источник
Поврежденный раздел от удаления файлов? Это большая проблема с диском, независимо от количества удаляемых файлов.
Я бы попробовал в командной строке удалить и удалить столько, сколько вы можете, пока не встретите тот, который заблокирован. Затем используйте Process Explorer, чтобы найти, какой процесс имеет этот открытый файл. Убейте этот процесс (если можете), а затем снова удалите. Промыть, повторить :)
источник
Перезагрузитесь с помощью «живого» Linux CD, rm -rf
источник
Что-то вроде хаки, но вы можете создать скрипт, который будет удалять файлы, я не знаю формат, но если предположить, что это файлы, начинающиеся с букв az, вы можете сделать
измените deltree с вашим методом удаления по выбору. вероятно, будет медленнее, но менее подвержен ошибкам?
sidenote: вы также можете попробовать установить cygwin, чтобы получить такие команды, как rm, которые, вероятно , продолжат удалять файлы, даже если он обнаружит ошибку с одним файлом.
источник
Различные методы прежде всего работают. Если у вас есть cygwin, загруженный на флэш-накопитель, вы можете просто подключить его к локальному USB, запустить оболочку cygwin и запустить команду RM, как указано выше. Это удобный способ держать гибкость Unix под рукой.
источник
Вы также можете загрузить консоль восстановления или что-то в этом роде. Это должно полностью игнорировать любые странные проблемы с ОС.
источник
Смонтируйте папку с машины Linux и выполните рекурсивное удаление оттуда.
# mount -t cifs //server/share /mnt/tobedeleted -o username=yourshareusername
# rm /mnt/tobedeleted/* -R
Вы даже можете использовать задание cron для удаления файлов через регулярные промежутки времени.
источник
Почему бы просто не использовать robocopy и зеркалировать пустой каталог?
Просто создайте пустую папку, а затем используйте:
источник
Если ни одно из других предложений не работает, рассмотрели ли вы вопрос ускорения ввода-вывода?
Покупайте более качественные контроллеры, более быстрые диски ..
Или мне интересно, если файлы временные (как вы подразумеваете) и размеры позволяют, вы могли бы добавить дополнительную оперативную память в коробку (дешево) и настроить диск RAM?
В лучшем случае производительность не будет снижена при удалении больших объемов файлов. В худшем случае перезагрузка очистит раздел.
источник
Попробуйте вырезать и вставить его в корзину, он должен обходить попытки переместить каждый отдельный файл. Не уверен, что он будет делать для очистки корзины, потому что тогда он, вероятно, будет проходить через каждый файл.
источник
Влияет ли удаление с SHIFT + DEL на скорость?
источник