Thumbs.db (thumbnail cache)– это скрытый системный файл, которые автоматически создается проводником Windows (File Explorer) в каталогах, содержащих файлы изображений и видео, при использовании режима отображения с предварительным просмотром миниатюр. Проводник генерирует эскизы (миниатюры) изображений в каталоге и сохраняет их в файле thumbs.db.
Однако файл thumbs.db может вызвать проблемы ряд проблем для системных администраторов, когда генерируется для сетевых папок с изображениями. В этой статье мы рассмотрим, можно ли удалить и как отключить создание файла thumbs.db в Windows
Для чего нужен файл Thumbs.db?
Проводник Windows сохраняет в файл thumbs.db эскизы (уменьшенные копии изображений) файлов формата jpeg, bmp, gif, tif, pdf, html и некоторых видео-файлов. Благодаря эскизам в файле thumbs.db проводнику Windows не нужно каждый раз генерировать и пересчитывать миниатюры изображений при просмотре пользователем содержимого каталога. Это сокращает время на загрузку и отображение файлов эскизов изображений в Проводнике.
По-умолчанию файл thumbs.db является скрытым и не отображается в проводнике. Чтобы показать его, нужно отключить опцию Hide protected operating system files в настройках проводника.
В современных версиях Windows, файл thumbs.db генерируется только для сетевых папок (кэш эскизов проводника для локальных каталогов с изображениями хранится в папке
%LOCALAPPDATA%\Microsoft\Windows\Explorer
в виде файлов формата
thumbcache_xxxx.db
).
Основные проблемы с файлом thumbs.db
- Безопасность – из файла thumbs.db можно вытащить миниатюры любых изображений в папке (даже удаленных)
- После входа в сетевую папку в режиме просмотра эскизов, пользователи не могут переместить ее или удалить, т.к. файл thumbs.db используется (блокируется) проводником.
- Если удалить файл thumbs.db вручную, он будет автоматически пересоздан при просмотре эскизов изображений в общей сетевой папке другим пользователем.
Проблема удаления сетевых папок при наличии файла Thumbs.db
При использовании сетевых папок часто встречается проблема, связанная с использованием проводником Windows Explorer механизма кэширования эскизов изображений. Так, например, сразу после копирования/перемещения каталога изображений в сетевой папке на файловом сервере, Windows не разрешает удалить или переименовывать каталог. Обычно вы сможете переименовать/удалить такой каталог только через некоторое время (1-5 минут).
При попытке удалить такой сетевой каталог появляется ошибка:
Folder in use. The action can’t be completed because the folder or a file in it is open in another program. Close the file or folder and try again.
Папка уже используется. Операция не может быть завершена, поскольку эти папка или файл открыты в другой программе. Закройте папку или файл и повторите попытку.
Проблема описана в статье базы знаний Microsoft KB2025703 (
Renaming a network folder in Windows Explorer fails with the action can’t be completed
). В статье указано, что наличие файла thumbs.db с кэшем миниатюр может мешать удалению или переименованию сетевых папок в проводнике.
Пока этот файл генерируется или обновляется, вы не можете сделать что-то с его родительским каталогом до тех пор, пока библиотека thumbcache.dll не снимет блокировку с файла thumbs.db.
В этом случае можно отключить автоматическую генерацию файла thumbs.db для сетевых папок и дисков.
Отключить создание файла Thumbs.db в сетевых папках
Чтобы запретить проводнику Windows показывать миниатюры изображений в папках и создавать файл thumbs.db:
- Откройтеменюнастроек File Explorer (Options)
- Перейдите на вкладку View
- В секции Advanced Settings включите опцию “Always show icons, never thumbnails”.
Однако такая настройка отключит показ миниатюр изображений и для локальных папок, что неудобно.
Чтобы отключить создание миниатюр только для сетевых папок и применить настройку для всех компьютеров домене, воспользуйтесь групповыми политиками.
- Запустите редактор локальной GPO (
gpedit.msc
) или создайте доменную GPO с помощью консолиgpmc.msc
; - Перейдите в раздел Configuration -> Administrative Templates -> Windows Components -> File Explorer;
- В данном разделе есть три параметра, которые позволяют управлять созданием файла thumbs.db:
- Turn off the display of thumbnails and only display icons on network folders (запрещает создавать файл db в сетевых папках)
- Следующие два параметра отключают создание миниатюр и для локальных папок
- Turn off caching of thumbnails in hidden thumbs.db files
- Turn off the display of thumbnails and only display icons
- Включите как минимум первую политику, изменив ее значение на Enabled;
- Дождитесь обновления настроек GPO на компьютерах пользователей.Для немедленного применения настроек выполните команду:
gpupdate /force
В домашних редакциях Windows, в которых отсутствует редактор групповой политики gpedit.msc, можно отключить создание скрытых файлов thumbs.db в сетевых через редактор реестра (
regedit.exe
).
Для этого в разделе HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\ создать подраздел Explorer, в котором создать параметр типа REG_DWORD с именем DisableThumbsDBOnNetworkFolders и значением 1.
Эту же операцию можно выполнить одной командой:
reg add "HKCU\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v DisableThumbsDBOnNetworkFolders /d 0x1 /t REG_DWORD /f
Как удалить файлы Thumbs.db во всех каталогах?
После включения политики или создания реестра, существующие файлы Thumbs.db в сетевых каталогах не удалятся автоматически. Можно рекурсивно удалить все файлы Thumbs.db в сетевом каталоге с помощью PowerShell.
Перейдите в нужный каталог (поддерживаются UNC пути):
cd '\\msk-fs01\Foto'
Чтобы вывести все файлы Thumbs.db во вложенных каталогах, выполните:
Get-ChildItem -Path . -Include Thumbs.db -Recurse -Name -Force
Удалите найденные файлы с эскизами:
Get-ChildItem -Path . -Include Thumbs.db -Recurse -Name -Force | Remove-Item –Force
для чего включать Turn off the display of thumbnails and only display icons, если она распространяется на локальный компьютер, не достаточно только включить Turn off the display of thumbnails and only display icons on network folders?
Не проверял, как действует первая политика по отношению к смонтированным сетевым дискам, поэтому отключить все. Если есть возможность, проверьте
Проблема с файлами Thumbs.db не только в сетевых папках. Но и в локальных.
Решаю проблему следующим образом — захожу в другую папку, возвращаюсь обратно и не заходя в целевую папку удаляю её. Винда при заходе в другую папку перестаёт мучить файл Thumbs.db в удаляемой папке и начинает мучить файл Thumbs.db в другой папке, соответственно нужную папку можно удалить спокойно.
То, что надо!!!
Супер! Спасибо!
Спасибо тебе добрый человек
Спасибо!
Браво! Шикарный способ!!!
СПАСИБО БОЛЬШОЕ, ДОБРЫЙ ЧЕЛОВЕК!
Хай.
Пришёл за командой PS.
Но,
Remove-Item : Не удается удалить элемент X:\_SCANDATA\JPEG\Thumbs.db: Процесс не может получить доступ
к файлу «X:\_SCANDATA\JPEG\Thumbs.db», так как этот файл используется другим процессом.
строка:1 знак:66
Все правильно, нужно применить политику на всех клиентах, чтобы они не генерировали файл Thumbs.db.
Если локально, нужно закрыть проводник и попробовать еще раз удалить. Как вариант — посмотреть кто держит файл темже ResourceExplorer либо FileMon
Уже локально. Перезапускал процесс explorer. Не помогло.
А всё ок теперь
Нелогично reg add «HKCU\SOFTWARE…
По умолчанию у юзера не должно быть прав на редактирование реестра, то есть запускать от админа, а при этом запуске редакция только админского профиля.
Надо выбирать GUID из списка юзеров HKU — тогда пойдет, ну или циклом прогнать
Это пример отключения создания Thumbs.db в сетевых папках для домашней редакции Windows. При желании, можно по аналогии можно распространить такую настройку реестра на пользователей домена через GP Preferences. Ну или пользоваться готовыми политиками GPO, описанными выше.
Так пользователь находится в своём окружении и правит часть реестра, которая только его и касается. Другое дело, что и там есть такие ветки и параметры, которые бы не стоило бы позволять править.
reg add «HKCU\SOFTWARE\Policies\Microsoft\Windows\Explorer» /v DisableThumbsDBOnNetworkFolders /d 0x1 /t REG_DWORD /f
Для win 10 1809 чёт не работает.
1809 (Сборка 17763.805)
всё работает
код для батника:
reg add «HKCU\SOFTWARE\Policies\Microsoft\Windows\Explorer» /v DisableThumbsDBOnNetworkFolders /d 0x1 /t REG_DWORD /f
shutdown -r -t 0
Мне способ с групповой политикой не помог. Помог способ про реестр, но на машине пользователя, на которой необходимо было оставить ограниченные права (т.е. ни о каком админском доступе для пользователя речи и быть не может), пришлось повозиться с редактированием HKEY_USERS, иначе ключ создавался не для пользователя, а для администратора, от имени которого запускался regedit. В общем, сделал следующее:
1. получаем sid пользователя командой: wmic useraccount where name=»» get sid
2. запускаем regedit от имени пользователя, имеющего права администратора, в разделе HKEY_USERS\\Software\Policies\Microsoft\Windows\ надо создать подраздел Explorer, в котором создать ключ типа REG_DWORD с именем DisableThumbsDBOnNetworkFolders и значением 1
3. перезаходим в пользователя либо перезагружаем ПК пользователя, затем на всякий случай проверяем что в реестре пользователя ключ DisableThumbsDBOnNetworkFolders сохранился
Проверено на машине пользователя с Windows 7.
Как мне кажется еще необходимо отключить само кэширование изображений.
Конфигурация пользователя->Административные шаблоны->Компоненты Windows->Проводник -> Отключить кэширование эскизов изображений ->Включено
А это не отключит предпросмотр изо и видео?
это только windows 10 касается? с 7ками нужны другие манипуляции?
Вообще эта мелкософт который год с своими багами не может разобраться. как так — не удалить какой-то никому ненужный файлик?