Problem z usuwaniem pliku Thumbs.db i folderu sieciowego

Czytelnik odkrył jedną ciekawą funkcję Eksploratora Explorer w systemie Windows 7 z katalogami sieciowymi na serwerze plików. Problem polegał na tym, że natychmiast po skopiowaniu / przeniesieniu katalogu do folderu sieciowego system odmówił jego usunięcia lub zmiany nazwy. Możesz zmienić nazwę / usunąć taki katalog tylko po chwili (1-5 minut).

Podczas próby usunięcia takiego katalogu sieciowego pojawia się błąd:

Nie można wykonać akcji, ponieważ folder lub plik w nim jest otwarty w innym programie. Zamknij plik lub folder i spróbuj ponownie..
Operacji nie można ukończyć, ponieważ ten folder lub plik jest otwarty w innym programie. Zamknij folder lub plik i spróbuj ponownie..

Jak się okazało, haczyk był związany z obecnością pliku Kciuki w górę.db  -  plik z miniaturami obrazów. Od czasów systemu Windows XP system operacyjny Windows może utworzyć pamięć podręczną z miniaturami obrazów (i innych typów plików) i przechowywać ją w ukrytym pliku Thumbs.db każdego katalogu. Korzystając z pamięci podręcznej, uzyskuje się skrócenie czasu pobierania i wyświetlania plików miniatur w Eksploratorze. Przy wyłączonej pamięci podręcznej obrazów system musi pobierać pliki obrazów za każdym razem i generować dla nich miniatury, co wymaga dużych zasobów (szczególnie w przypadku folderów z dużą liczbą obrazów).

Ale jak się okazało, zdarzają się sytuacje (KB2025703 - Zmiana nazwy folderu sieciowego w Eksploratorze Windows 7 kończy się niepowodzeniem z „akcji nie można ukończyć ...”), gdy obecność pliku thumbs.db z pamięcią podręczną miniatur uniemożliwia usunięcie lub zmianę nazwy katalogów z Eksploratora Windows.

Najwyraźniej system potrzebuje trochę czasu, aby wygenerować plik z pamięcią podręczną miniaturek, dlatego podczas generowania lub aktualizowania tego pliku nie można nic zrobić z jego katalogiem nadrzędnym, dopóki blokada zapisu w pliku pamięci podręcznej nie zostanie zwolniona..

W takim przypadku możesz wyłączyć automatyczne generowanie pliku thumbs.db. na folderach sieciowych i dyskach.

Treść

  • Wyłącz tworzenie pliku Thumbs.db w folderach sieciowych za pomocą obiektu zasad grupy
  • Wyłączanie tworzenia Thumbs.db w folderach sieciowych przez rejestr
  • Jak usunąć pliki Thumbs.db ze wszystkich katalogów

Wyłącz tworzenie pliku Thumbs.db w folderach sieciowych za pomocą obiektu zasad grupy

Aby uniemożliwić Eksploratorowi Windows przeglądanie katalogów w celu utworzenia ukrytego pliku za pomocą pamięci podręcznej miniaturek obrazów Thumbs.db, można użyć ustawień zasad grupy.

Interesujące nas zasady znajdują się w sekcji edytora GPO:

  • W systemie Windows 7 (Vista) niezbędne zasady znajdują się w sekcji. - Konfiguracja użytkownika -> Szablony administracyjne -> Składniki systemu Windows -> Eksplorator Windows.
  • W systemie Windows 8 / Windows 10 - Konfiguracja użytkownika -> Szablony administracyjne -> Składniki systemu Windows -> Eksplorator plików

Znajdź i włącz (przetłumacz na Włącz) następujące zasady:

  • Wyłącz wyświetlanie miniatur i wyświetlaj tylko ikony w folderach sieciowych
  • Wyłącz buforowanie miniatur w ukrytych plikach thumbs.db
  • Wyłącz wyświetlanie miniatur i wyświetlaj tylko ikony

Przede wszystkim interesuje nas 1 zasada, która zabrania Explorerowi tworzenia thumbs.db w katalogach sieciowych.

Pozostaje przypisać zasadę użytkownikom i zaktualizować ją na komputerach (gpupdate / force)

Wyłączanie tworzenia Thumbs.db w folderach sieciowych przez rejestr

W domowych wersjach systemu Windows, które nie mają edytora zasad grupy, można wyłączyć tworzenie ukrytych plików thumbs.db za pomocą edytora rejestru (regedit.exe).

W tym celu w sekcji HKEY_CURRENT_USER \ Software \ Policies \ Microsoft \ Windows \ utwórz podsekcję Explorer (w Windows 7 już istnieje), w którym należy utworzyć klucz typu REG_DWORD o nazwie DisableThumbsDBOnNetworkFolders i wartość 1

Tę samą operację można wykonać za pomocą jednego polecenia:

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

Jak usunąć pliki Thumbs.db ze wszystkich katalogów

Istniejące pliki Thumbs.db nie są automatycznie usuwane po włączeniu zasad. Za pomocą programu PowerShell można rekurencyjnie usuwać wszystkie pliki Thumbs.db z określonego katalogu dysku lub serwera.

Przejdźmy do żądanego katalogu:

cd c: \ udostępnij
Uzyskaj listę wszystkich Thumbs.db
Get-ChildItem -Path. -Include Thumbs.db -Recurse -Name -Force | Remove-Item -Force -WhatIF

Usuń znalezione pliki
Get-ChildItem -Path. -Include Thumbs.db -Recurse -Name -Force | Remove-Item -Force