Проблем с изтриването на файлове и мрежови папки Thumbs.db

Читателят е открил една интересна функция на Explorer Explorer в Windows 7 с мрежови директории на файлов сървър. Проблемът беше, че веднага след копирането / преместването на директорията в мрежова папка, системата отказа да я изтрие или преименува. Можете да преименувате / изтриете такава директория само след известно време (1-5 минути).

При опит за изтриване на такава мрежова директория се появява грешка:

Действието не може да бъде завършено, тъй като папката или файлът в него са отворени в друга програма. Затворете файла или папката и опитайте отново..
Операцията не може да бъде завършена, тъй като тези папка или файл са отворени в друга програма. Затворете папката или файла и опитайте отново..

Както се оказа, уловката беше свързана с наличието на файл Палци нагоре.db  -  файл с миниатюри от изображения. От дните на Windows XP операционната система Windows може да създаде кеш с миниатюри от изображения (и други видове файлове) и да го съхранява в скрит файл на Thumbs.db на всяка директория. С помощта на кеша се постига намаляване на времето, необходимо за изтегляне и показване на миниатюрни файлове в Explorer. Когато деактивира кеша на изображения, системата трябва да изтегля файлове с изображения всеки път и да генерира миниатюри за тях, което е интензивно ресурсно (особено за папки с голям брой изображения).

Но както се оказа, има ситуации (KB2025703 - Преименуването на мрежова папка в Windows 7 Explorer не успява с „действието не може да приключи ...“), когато наличието на файла thumbs.db с кеша на миниатюрите предотвратява премахването или преименуването на директории от Windows Explorer.

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

В този случай можете да деактивирате автоматично генериране на файла thumbs.db. на мрежови папки и дискове.

Съдържание:

  • Деактивирайте създаването на файла Thumbs.db в мрежови папки с помощта на GPO
  • Деактивиране създаването на Thumbs.db в мрежови папки чрез системния регистър
  • Как да премахнете Thumbs.db файлове във всички директории

Деактивирайте създаването на файла Thumbs.db в мрежови папки с помощта на GPO

За да предотвратите разглеждане на директории на Windows Explorer за създаване на скрит файл с кеш-паметта на изображението Thumbs.db, можете да използвате настройките на груповата политика.

Политиките, които ни интересуват, са в раздела за редактора на GPO:

  • В Windows 7 (Vista) необходимите правила са в раздела. - Конфигурация на потребителя -> Административни шаблони -> Компоненти на Windows -> Windows Explorer.
  • В Windows 8 / Windows 10 - Конфигурация на потребителя -> Административни шаблони -> Компоненти на Windows -> File Explorer

Намерете и активирайте (преведете на Активиране) следните правила:

  • Изключете показването на миниатюри и само иконите на дисплея в мрежовите папки
  • Изключете кеширането на миниатюри в скрити файлове thumbs.db
  • Изключете показването на миниатюри и само икони на дисплея

На първо място, ние се интересуваме от 1 политика, която забранява на Explorer да създава thumbs.db в мрежови директории.

Остава да зададете политиката на потребителите и да я актуализирате на компютри (gpupdate / force)

Деактивиране създаването на Thumbs.db в мрежови папки чрез системния регистър

В домашните издания на Windows, които нямат редактор на групови правила, можете да деактивирате създаването на скрити файлове thumbs.db чрез редактора на системния регистър (regedit.exe).

За това в раздела HKEY_CURRENT_USER \ Софтуер \ Политики \ Microsoft \ Windows \ създайте подсекция изследовател (в Windows 7 вече съществува), в който да създадете ключ от тип REG_DWORD с името DisableThumbsDBOnNetworkFolders и стойност 1

Същата операция може да се извърши с една команда:

reg добавете "HKCU \ SOFTWARE \ Policies \ Microsoft \ Windows \ Explorer" / v DisableThumbsDBOnNetworkFolders / d 0x1 / t REG_DWORD / f

Как да премахнете Thumbs.db файлове във всички директории

Съществуващите файлове на Thumbs.db не се изтриват автоматично, след като активирате правилото. Можете да рекурсивно да изтриете всички Thumbs.db файлове на конкретно устройство или директория на сървъра, като използвате PowerShell.

Нека да преминем към желаната директория:

cd c: \ споделяне
Вземете списък на всички Thumbs.db
Get-ChildItem -Path. -Включете Thumbs.db -Recurse -Name -Force | Премахване-Елемент-Force -WhatIF

Изтрийте намерените файлове
Get-ChildItem -Path. -Включете Thumbs.db -Recurse -Name -Force | Remove-Item -Force