Težava s brisanjem datoteke in omrežne mape Thumbs.db

Bralec je odkril eno zanimivost programa Explorer Explorer v sistemu Windows 7 z omrežnimi imeniki na datotečnem strežniku. Težava je bila v tem, da je sistem takoj po kopiranju / premikanju imenika v omrežno mapo zavrnil brisanje ali preimenovanje. Takšen imenik lahko čez nekaj časa preimenujete / izbrišete (1-5 minut).

Ko poskušate izbrisati tak omrežni imenik, se prikaže napaka:

Dejanja ni mogoče zaključiti, ker je mapa ali datoteka v njej odprta v drugem programu. Zaprite datoteko ali mapo in poskusite znova..
Operacije ni mogoče zaključiti, ker so te mape ali datoteke odprte v drugem programu. Zaprite mapo ali datoteko in poskusite znova..

Kot se je izkazalo, je bil ulov povezan s prisotnostjo datoteke Palec gor.db  -  datoteka s sličicami slik. Od dni Windows XP lahko operacijski sistem Windows ustvari predpomnilnik s sličicami slik (in drugih vrst datotek) in ga shrani v skrito datoteko Thumbs.db vsakega imenika. Z uporabo predpomnilnika se doseže zmanjšanje časa, potrebnega za prenos in prikaz sličic datotek v Explorerju. Če je predpomnilnik slik onemogočen, mora sistem vsakič naložiti slikovne datoteke in zanje ustvariti sličice, kar je veliko sredstev (zlasti za mape z velikim številom slik).

A kot se je izkazalo, obstajajo situacije (KB2025703 - Preimenovanje omrežne mape v programu Windows 7 Explorer ne uspe z "dejanja ni mogoče zaključiti ..."), ko prisotnost datoteke thumbs.db s predpomnilnikom sličic prepreči odstranitev ali preimenovanje imenikov iz Windows Explorerja.

Očitno sistem potrebuje nekaj časa, da ustvari datoteko s predpomnilnikom sličic, kar pomeni, da medtem, ko se ta datoteka generira ali posodablja, ne morete storiti ničesar z njenim nadrejenim imenikom, dokler se ne sprosti zaklepanje zapisa v datoteki predpomnilnika..

V tem primeru lahko onemogočite samodejno ustvarjanje datoteke thumbs.db. na omrežnih mapah in pogonih.

Vsebina:

  • Onemogočite ustvarjanje datoteke Thumbs.db v mrežnih mapah z uporabo GPO
  • Onemogočanje ustvarjanja Thumbs.db v mrežnih mapah prek registra
  • Kako odstraniti datoteke Thumbs.db v vseh imenikih

Onemogočite ustvarjanje datoteke Thumbs.db v mrežnih mapah z uporabo GPO

Če želite preprečiti brskalniku Windows Explorer, da ustvari skrito datoteko s predpomnilnikom sličic slike Thumbs.db, lahko uporabite nastavitve skupinske politike.

Pravilniki, ki nas zanimajo, so v razdelku urejevalnika GPO:

  • V sistemu Windows 7 (Vista) so potrebni pravilniki v razdelku. - Konfiguracija uporabnika -> Skrbniške predloge -> Komponente Windows -> Windows Explorer.
  • V sistemu Windows 8 / Windows 10 - Konfiguracija uporabnika -> Skrbniške predloge -> Komponente Windows -> Raziskovalec datotek

Poiščite in omogočite (prevedite na Omogoči) naslednje pravilnike:

  • Izklopite prikaz sličic in samo ikone v omrežnih mapah
  • Izklopite predpomnjenje sličic v datotekah skritih palcev.db
  • Izklopite prikaz sličic in samo ikon

Najprej nas zanima 1 politika, ki Explorerju prepoveduje ustvarjanje thumbs.db v omrežnih imenikih.

Ostalo je, da politiko dodelite uporabnikom in jo posodobite na računalnikih (gpupdate / force)

Onemogočanje ustvarjanja Thumbs.db v mrežnih mapah prek registra

V domačih izdajah sistema Windows, ki nimajo urejevalnika skupinskih pravilnikov, lahko onemogočite ustvarjanje skritih datotek thumbs.db prek urejevalnika registra (regedit.exe).

Za to v razdelku HKEY_CURRENT_USER \ Programska oprema \ Politike \ Microsoft \ Windows \ ustvarite pododdelek Raziskovalec (v sistemu Windows 7 že obstaja), v katerem ustvarite ključ tipa REG_DWORD z imenom Onemogoči mapeDBOnNetworkFolders in vrednost 1

Enaka operacija se lahko izvede z enim ukazom:

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

Kako odstraniti datoteke Thumbs.db v vseh imenikih

Obstoječe datoteke Thumbs.db se po tem, ko omogočite pravilnik, samodejno ne izbrišejo. Vse datoteke Thumbs.db lahko rekurzivno izbrišete na določenem pogonu ali strežniškem imeniku s pomočjo PowerShell-a.

Pojdimo na želeni imenik:

cd c: \ delež
Pridobite seznam vseh Thumbs.db
Get-ChildItem-Pot. -Vključi Thumbs.db -Recurse -Name -Force | Remove-Item -Force -WhatIF

Izbrišite najdene datoteke
Get-ChildItem-Pot. -Vključi Thumbs.db -Recurse -Name -Force | Odstrani-element-silo