Ustaw ikonę folderu niestandardowego dla folderu sieciowego w Eksploratorze plików systemu Windows

Odpowiedzi:

11

Będziesz chciał użyć pliku desktop.ini, aby dostosować ikonę. Zazwyczaj to wszystko, co robisz, gdy używasz powyższego przycisku „Zmień ikonę”. Pełna dokumentacja: Jak dostosować foldery za pomocą desktop.ini Oto przykładowy plik desktop.ini:

[DeleteOnCopy]
Owner=MyUser
Personalized=13
PersonalizedName=My Folder
[.ShellClassInfo]
[email protected],-12689
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-237

Na marginesie, jeśli chcesz to zrobić bez konieczności ręcznego tworzenia desktop.ini, możesz utworzyć folder lokalnie, zastosować żądane ustawienia i ukraść jego plik desktop.ini. (Jeśli go nie widzisz, skopiuj cały folder; powinien on mieć oryginalną nazwę.) Film z YouTube Zastosuj ikonę do folderu na dysku sieciowym pokazuje ten proces, ale używa ruchów folderów zamiast tworzyć nowy folder.

ssnobody
źródło
1
Tutaj jest bardziej szczegółową listą desktop.ini opcje
Tobias Kienzler
1
Czy to możliwe, że nie działa to dla udziałów SMB obsługiwanych na komputerze z systemem Linux? Instaluję plik desktop.ini na moim komputerze z systemem Windows i próbuję zobaczyć drzewo plików w oknach. Mój desktop.ini nie jest ukryty i nie widzę mojej niestandardowej ikony :( -
Michael Walter
Czy to możliwe, że plik desktop.ini rzeczywiście ma inne ukryte rozszerzenie, które powoduje, że nie jest używane? Nie wierzę, że system Windows jest wrażliwy na to, gdzie folder jest hostowany, czy to za pośrednictwem natywnego CIFS systemu Windows, czy poprzez Samba CIFS / SMB.
ssnobody
1
Jest kilka gotchas. Katalog musi mieć ustawiony atrybut „tylko do odczytu”; desktop.ini musi mieć „ukryty” i „system”. Nie wiem, jak można to zrobić w Linuksie. Również desktop.ini plik musi być zakodowany w Unicode. Prawdopodobnie nie nastąpi to, jeśli utworzysz plik za pomocą narzędzi * nix vi.
G-Man
1
Pamiętaj, że musisz także ustawić folder zawierający tylko do odczytu (lub system), np. przez attrib +r lub attrib +s.
Tobias Kienzler
2

Metoda dostosowywania opisana przez ssnobody zakłada, że ​​masz możliwość zmiany folderu na komputerze zdalnym, i że chcesz zmienić wygląd wszystkich zdalnych i lokalnych użytkowników folderu. Jeśli którakolwiek z tych sytuacji nie jest prawdziwa, możesz użyć tej alternatywy: utwórz lokalny skrót do zdalnego folderu (np. Kliknij prawym przyciskiem myszy przeciągnij go na pulpit lokalny i wybierz „utwórz skrót”), a następnie użyj normalnej „zmiany ikona ”w oknie dialogowym właściwości, aby zmienić ikonę skrótu.

mgkrebbs
źródło
1

Rozwiązaniem jest zmiana nazwy pliku obrazu „folder.jpg” i umieszczenie go w folderze udostępnionym.

Każdy, kto ma dostęp i używa dowolnego z widoków „icon” lub „tile” w Eksploratorze, zobaczy go.

BIll R
źródło
Proszę uważnie przeczytać pytanie. Twoja odpowiedź tak nie odpowiedz na pierwotne pytanie. Nie zmienia to ikony folderu.
DavidPostill
1

Minęło sporo czasu odkąd widziałem tyle byka :)

  1. Kliknij prawym przyciskiem myszy - & gt; Właściwości - & gt; Dostosuj --- & gt; Ikona zmiany nie jest dostępna dla udziałów SMB.

  2. ... --- & gt; Zmień zdjęcie nie działa.

  3. Desktop.ini NIE jest przetwarzany przez okna dla udziałów SMB, ponieważ Linux interpretuje „tylko do odczytu” (folder) nieco inaczej i niepoprawnie zgłasza go do systemu Windows:

    • W Linuksie tylko odczyt oznacza tylko do odczytu!
    • W systemie Windows tylko do odczytu (tylko z folderami) oznacza proces Desktop.ini !!!
  4. Powinno być ustawienie rejestru, które wymusza przetwarzanie Desktop.ini za pomocą flagi „System” (super ukryte) zamiast „Tylko do odczytu”, ale nigdy nie udało mi się go uruchomić zgodnie z oczekiwaniami.

  5. Brak przetwarzania desktop.ini na SMB łamie wiele innych rzeczy, nie tylko ikon folderów: Dowiązania symboliczne i spersonalizowane przestrzenie nazw również nie działają. Załogi w Microsoft po prostu nie chcą sobie z tym poradzić, aż do Windows NT.

  6. Oczywiście zawsze można utworzyć pośrednie łącza, aby uzyskać dostęp do folderów SMB, i zamiast tego podać te niestandardowe ikony, ale powoduje to wiele innych problemów:

    • Krótkie skróty są domyślnie oceniane i buforowane w systemie Windows, gdy otwierasz folder nadrzędny, powodując „ogromne” opóźnienia w eksploratorze, jeśli folder zawiera skróty do wolnych lub śpiących udziałów sieciowych.
    • Skróty w oknach są absolutne, a nie względne, nie przenośne. Powoduje to wiele konserwacji, jeśli docelowa ścieżka roota ulegnie zmianie. Windows ma również zwyczaj automatycznej konwersji vars środowiska na bezwzględne łącza, pokonując wszelkie próby obejścia tego.
    • Usługa „Rozproszony klient śledzący połączenia rozproszone” została jeszcze bardziej ulepszona.
  7. Najlepszym sposobem implementacji odnośników względnych w systemie Windows jest użycie skryptu VBS. W formie rodzimej (tekstowej) skrypt VBS nie będzie miał niestandardowej ikony, ale możesz skompilować niestandardową ikonę do pliku EXE.

Jest to jednak dużo pracy, a skrypt tworzy „niezaufane” komunikaty ostrzegawcze przy każdym uruchomieniu z sieci, chyba że skrypt jest lokalny lub znajduje się sposób na jego podpisanie.

VBS Relative Link example:
============================
'  This is a VB Script, which emulates a RELATIVE file link/shortcut in Win XP
'
'  1) The first  line declares an untyped variable      ==> objshell
'
'  2) The second line instantiates a new object derived from    ==> Shell.Application
'
'  3) The third  line invokes the object's method       ==> ShellExecute
'
'     with the following parametters:   "target path"
'                                       "target's arguments"
'                   "starting directory"
'                   "action verb"
'                                       Initial window mode:  0 = Hidden Window
'                                                             1 = Normal Window
'                                                             2 = Minimized
'                                                             3 = Maximized
'                                                             4 = Most recent size and position, keep active window active
'                                                             5 = Current size and position
'                                                             6 = 
'                                                             7 = Minimized, keep active window active
'                                10 = Default state specified by target application
'
'  4) The last line frees/destroys the shell object
'
'
dim objShell
set objShell = CreateObject("Shell.Application")
objShell.ShellExecute                                 _
  "..\..\..\SomePath_Three_Dirs_UP_etc"              ,_
  ""                                                 ,_
  ""                                                 ,_
  "open"                                             ,_
  1
set objShell = nothing
===============================================================
Guest
źródło
Istnieją opcje dla samby, które wpływają na to, jak Linux zgłasza atrybut „tylko do odczytu” dla systemu Windows i które umożliwiają przetwarzanie Desktop.ini przez okna dla udziałów SMB
ssnobody
0

Utwórz folder ikon, np. C:\Icons na serwerze (możesz ukryć folder z właściwości, jeśli nie chcesz go widzieć). Połóż swoje .ico pliki w tym folderze. Dostosuj swoje udostępnione foldery na serwerze. Teraz skopiuj swój .ico pliki do C:\Icons ale w twoim kliencie PC (jako duplikat). Teraz zobaczysz ikony udostępniania sieciowego na obu komputerach (serwer i klient). Jeśli nie możesz uzyskać dostępu do serwera, możesz tworzyć skróty tylko na kliencie i zmieniać ich ikony.

studiohack
źródło
To jest trudne do zrozumienia i podejrzane. Co masz na myśli, mówiąc „Dostosuj swoje foldery na Network PC”? OP mówi, że nie może. Czy masz na myśli, że musi zalogować się bezpośrednio do komputera, który współdzieli dysk? Ponadto nie zaleca się umieszczania rzeczy w katalogu głównym.
G-Man
Jasne, musisz uzyskać dostęp do urządzenia sieciowego, jeśli chcesz dostosować ikony folderów.
Gdy to zrobisz, skopiuj wszystkie pliki ico na inny komputer (w tej samej ścieżce, np. C: ikony), a zobaczysz ikony udziałów sieciowych na obu komputerach.
(1) Jeśli mówisz, że użytkownik musi Zaloguj się bezpośrednio do „maszyna sieciowa”, sugeruję więc, żebyś ją miał powiedziany „Musisz zalogować się bezpośrednio na zdalnym komputerze (serwerze plików)”. Zezwolenie na korzystanie z udziału na serwerze niekoniecznie oznacza pozwolenie / możliwość bezpośredniego zalogowania się do niego. (I, IMHO, „komputer sieciowy” to słaba terminologia.) (2) Nadal zalecam, aby nie umieszczać rzeczy w katalogu głównym. \Users\Public\Documents lub odpowiednik jest prawdopodobnie lepszy. A nawet to jest konieczne tylko wtedy, gdy chcesz użyć ikon, które nie są jeszcze na serwerze plików.
G-Man
Ok, ale użytkownik chciał wiedzieć, jak dostosować ikony na serwerze; odpowiedź brzmi: musisz uzyskać dostęp do serwera; a jeśli nie umieścisz tych samych ikon na tej samej ścieżce na komputerze, nigdy nie zobaczysz tych ikon (z wyjątkiem tych na serwerze). Następnie możemy porozmawiać o wszystkim innym ... terminologii, katalogach itp. Chciałem zrobić to samo i to jest jedyny sposób :)