Problém odstránenia súborov Thumbs.db a sieťových priečinkov

Čitateľ objavil jednu zaujímavú funkciu Prieskumníka v systéme Windows 7 so sieťovými adresármi na súborovom serveri. Problém bol v tom, že okamžite po skopírovaní / presunutí adresára do sieťového priečinka ho systém odmietol odstrániť alebo premenovať. Takýto adresár môžete premenovať / odstrániť až po chvíli (1-5 minút).

Pri pokuse o odstránenie takéhoto sieťového adresára sa zobrazí chyba:

Akciu nie je možné dokončiť, pretože priečinok alebo súbor v ňom otvorený v inom programe. Zatvorte súbor alebo priečinok a skúste to znova..
Operáciu nie je možné dokončiť, pretože tieto priečinky alebo súbory sú otvorené v inom programe. Zatvorte priečinok alebo súbor a skúste to znova..

Ako sa ukázalo, úlovok súvisel s prítomnosťou súboru Palec hore.db  -  súbor s miniatúrami obrázkov. Od dní operačného systému Windows XP môže operačný systém Windows vytvárať vyrovnávaciu pamäť s miniatúrami obrázkov (a iných typov súborov) a ukladať ju do skrytého súboru Thumbs.db každého adresára. Použitím vyrovnávacej pamäte sa dosiahne skrátenie času potrebného na stiahnutie a zobrazenie miniatúrnych súborov v Prieskumníkovi. Pri vypnutej vyrovnávacej pamäti obrázkov musí systém zakaždým sťahovať obrazové súbory a generovať pre nich miniatúry, čo je náročné na zdroje (najmä pre priečinky s veľkým počtom obrázkov)..

Ako sa však ukázalo, existujú situácie (KB2025703 - Premenovanie sieťového priečinka v programe Windows 7 Prieskumník zlyhá s „akcia nemôže byť dokončená ...“), keď prítomnosť súboru thumbs.db s vyrovnávacou pamäťou miniatúr zabráni odstráneniu alebo premenovaniu adresárov z Prieskumníka Windows.

Zrejme systém nejaký čas vygeneruje súbor s miniatúrnou vyrovnávacou pamäťou. V dôsledku toho, zatiaľ čo sa tento súbor generuje alebo aktualizuje, nemôžete robiť niečo s jeho nadradeným adresárom, kým sa neuvoľní zámok zápisu v súbore vyrovnávacej pamäte..

V takom prípade môžete vypnúť automatické generovanie súboru thumbs.db. v sieťových priečinkoch a jednotkách.

obsah:

  • Zakážte vytváranie súboru Thumbs.db v sieťových priečinkoch pomocou GPO
  • Zakázanie vytvárania súboru Thumbs.db v sieťových priečinkoch prostredníctvom registra
  • Ako odstrániť súbory Thumbs.db vo všetkých adresároch

Zakážte vytváranie súboru Thumbs.db v sieťových priečinkoch pomocou GPO

Ak chcete zabrániť prieskumníkovi Windows v prehľadávaní adresárov a vytvorení skrytého súboru s vyrovnávacou pamäťou miniatúr obrázkov Thumbs.db, môžete použiť nastavenia skupinovej politiky.

Pravidlá, ktoré nás zaujímajú, sú v časti editora GPO:

  • V systéme Windows 7 (Vista) sú potrebné zásady uvedené v tejto časti. - Konfigurácia používateľa -> Šablóny pre správu -> Súčasti systému Windows -> Prieskumník systému Windows.
  • V systéme Windows 8 / Windows 10 - Konfigurácia používateľa -> Šablóny pre správu -> Súčasti systému Windows -> Prieskumník súborov

Vyhľadajte a povoľte (preložiť do Povoliť) nasledujúce zásady:

  • Vypnite zobrazovanie miniatúr a zobrazujte iba ikony v sieťových priečinkoch
  • Vypnite ukladanie miniatúr do skrytých súborov thumbs.db
  • Vypnite zobrazenie miniatúr a zobrazujte iba ikony

V prvom rade nás zaujíma 1 zásada, ktorá zakazuje programu Explorer vytvárať sieťové adresáre thumbs.db.

Zostáva priradiť politiku používateľom a aktualizovať ju na počítačoch (gpupdate / force)

Zakázanie vytvárania súboru Thumbs.db v sieťových priečinkoch prostredníctvom registra

V domácich vydaniach Windows, ktoré nemajú Editor skupinovej politiky, môžete zakázať vytváranie skrytých súborov thumbs.db pomocou editora databázy Registry (regedit.exe)..

Z tohto dôvodu v časti HKEY_CURRENT_USER \ Software \ Policies \ Microsoft \ Windows \ vytvoriť podsekciu cestovateľ (vo Windows 7 už existuje), v ktorom je možné vytvoriť kľúč typu REG_DWORD s menom DisableThumbsDBOnNetworkFolders a hodnota 1

Rovnakú operáciu je možné vykonať pomocou jedného príkazu:

reg add "HKCU \ SOFTWARE \ Policies \ Microsoft \ Windows \ Explorer" / v DisableThumbsDBOnNetworkFolders / d 0x1 / t REG_DWORD / f

Ako odstrániť súbory Thumbs.db vo všetkých adresároch

Existujúce súbory Thumbs.db sa po povolení politiky automaticky neodstránia. Pomocou programu PowerShell môžete rekurzívne odstrániť všetky súbory Thumbs.db na konkrétnom adresári jednotky alebo servera.

Poďme do požadovaného adresára:

cd c: \ share
Získajte zoznam všetkých stránok Thumbs.db
Get-ChildItem -Path. -Include Thumbs.db -Recurse -Name -Force | Odstráňte položku -Preložiť -WhatIF

Odstráňte nájdené súbory
Get-ChildItem -Path. -Include Thumbs.db -Recurse -Name -Force | Remove-Item -Force