Imposta l'icona della cartella personalizzata per una cartella di rete in Esplora file di Windows


11

Accedo a una condivisione di Windows e la sezione " icona della cartella " (quella in basso) manca nelle sue impostazioni. Si presenta correttamente nelle cartelle locali. Mi piacerebbe averlo con entrambi.

Una finestra delle proprietà della cartella con l'impostazione dell'icona evidenziata

Una finestra delle proprietà della cartella locale

Risposte:


12

Ti consigliamo di utilizzare un file desktop.ini per personalizzare l'icona. Di solito, questo è tutto ciò che stai effettivamente facendo quando stai usando quel pulsante "Cambia icona" sopra. Per la documentazione completa, consultare: Come personalizzare le cartelle con desktop.ini Segue un esempio di file desktop.ini:

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

A parte questo, se vuoi farlo senza dover creare manualmente desktop.ini, puoi creare una cartella localmente, applicare le impostazioni desiderate e rubare il suo desktop.ini. (Se non lo vedi, copia su tutta la cartella; in origine dovrebbe avere un nome corretto.) Il video di YouTube Applica un'icona a una cartella su un'unità di rete mostra questo processo ma utilizza gli spostamenti delle cartelle anziché creare una nuova cartella .


1
Ecco un elenco più dettagliato di desktop.iniopzioni
Tobias Kienzler,

1
È possibile che ciò non funzioni con le condivisioni SMB ospitate su computer Linux? Ho installato desktop.ini sul mio computer Windows e provo a vedere l'albero dei file in Windows. Il mio desktop.ini non è nascosto e non vedo la mia icona personalizzata :( -
Michael Walter il

È possibile che sul tuo desktop.ini sia effettivamente aggiunta un'altra estensione nascosta che ne impedisce l'utilizzo? Non credo che Windows sia sensibile al luogo in cui è ospitata la cartella, sia tramite Windows CIFS nativo o tramite Samba CIFS / SMB.
ssnobody

1
Ci sono diversi gotcha. La directory deve avere l'attributo "sola lettura" impostato; il desktop.inimust have "nascosto" e "sistema". Non so come si possa fare in Linux. Inoltre, il desktop.inifile deve essere codificato Unicode. Questo probabilmente non accadrà se crei il file con strumenti * nix come vi.
G-Man dice "Ripristina Monica" l'

1
Nota che devi anche impostare la cartella contenente su sola lettura (o sistema), ad es. Tramite attrib +ro attrib +s.
Tobias Kienzler,

2

Il metodo di personalizzazione delineato da ssnobody presuppone che si abbia la possibilità di cambiare la cartella sul computer remoto e che si desideri che l'aspetto venga modificato per tutti gli utenti remoti e locali della cartella. Se uno di questi non è vero, potresti voler utilizzare questa alternativa: crea un collegamento locale nella cartella remota (ad esempio, fai clic con il pulsante destro del mouse trascinalo sul desktop locale e seleziona "crea collegamento"), quindi utilizza la normale "modifica icona "nella finestra di dialogo delle proprietà per modificare l'icona del collegamento.


1

Una soluzione è quella di rinominare il file di immagine "folder.jpg" e inserirlo nella cartella condivisa.

Chiunque abbia accesso e utilizzi una delle viste "icona" o "riquadro" in Explorer lo vedrà.


Si prega di leggere di nuovo attentamente la domanda. La tua risposta non risponde alla domanda originale. Questo non cambia l'icona della cartella.
DavidPillill

1

È da tanto tempo che non vedo così toro :)

  1. Fare clic con il tasto destro del mouse -> Proprietà -> Personalizza ---> L'icona di modifica non è disponibile nelle condivisioni SMB.

  2. ... ---> Cambia immagine non ha alcun effetto.

  3. Desktop.ini NON viene elaborato da Windows per le condivisioni SMB, poiché Linux interpreta in modo diverso il bit "Sola lettura" della cartella e lo riporta in modo errato a Windows:

    • In Linux, Sola lettura significa Sola lettura!
    • In Windows, Sola lettura (solo con cartelle) significa processo Desktop.ini !!!
  4. Si suppone che ci sia un'impostazione di registro che forza l'elaborazione di Desktop.ini usando il flag "Sistema" (super nascosto) invece di "Sola lettura" ma non l'ho mai fatto funzionare come previsto.

  5. La mancanza dell'elaborazione desktop.ini su SMB interrompe molte altre cose, non solo le icone delle cartelle: anche i collegamenti simbolici e gli spazi dei nomi personalizzati non funzionano. I barboni di Microsoft si stanno semplicemente rifiutando di affrontarlo, tornando a Windows NT.

  6. Naturalmente è sempre possibile creare collegamenti indiretti per accedere alle cartelle SMB e fornire invece quelle icone personalizzate, ma ciò causa molti altri problemi:

    • I collegamenti di scelta rapida vengono valutati e memorizzati nella cache per impostazione predefinita in Windows quando si apre la cartella principale, causando ritardi "massicci" in Explorer se una cartella contiene collegamenti a condivisioni di rete lente o inattive.
    • Le scorciatoie nelle finestre sono assolute, non relative ergo non portatili. Ciò crea molta manutenzione nel caso in cui il percorso di root di destinazione cambi. Windows ha anche l'abitudine di convertire automaticamente var d'ambiente in collegamenti assoluti, sconfiggendo ogni tentativo di aggirare il problema.
    • Il loro servizio "Distributed Link Tracking Client", basato sull'uccello, rovina ulteriormente le cose.
  7. Il modo migliore per implementare collegamenti relativi in ​​Windows è utilizzare lo script VBS. Nel formato nativo (testo), lo script VBS non avrà un'icona personalizzata, ma è possibile assegnare un'icona personalizzata al file EXE se lo si compila.

Questo è molto lavoro, e lo script creerà messaggi di avviso "non attendibili" ogni volta che lo avvierai da una rete, a meno che lo script non sia locale o trovi un modo per firmarlo.

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
===============================================================

Ci sono opzioni per samba che influenzano il modo in cui Linux segnala l'attributo "sola lettura" a Windows e che consentono a Desktop.ini di essere elaborato da Windows per le condivisioni SMB
ssnobody

0

Crea una cartella di icone, ad es. C:\IconsSul server (puoi nascondere la cartella dalle proprietà se non vuoi vederla). Metti i tuoi .icofile in quella cartella. Personalizza le tue cartelle condivise sul server. Ora copia i tuoi .icofile C:\Iconsma nel tuo client PC (come duplicato). Ora vedrai le icone di Network Share su entrambi i PC (server e client). Se non riesci ad accedere al server, puoi solo creare collegamenti sul client e modificarne le icone.


Questo è difficile da capire e sospetto. Cosa intendi con "Personalizza le tue cartelle su PC di rete"? L'OP dice che non può. Vuoi dire che deve accedere direttamente alla macchina che condivide l'unità? Inoltre, non è consigliabile inserire elementi nella directory principale.
G-Man dice "Ripristina Monica" l'

Certo, devi accedere al computer di rete se vuoi personalizzare le icone delle cartelle.

Una volta che lo hai fatto, copia tutti i tuoi file ico su un altro PC (nello stesso percorso, ad es. C: \ icone) e vedrai la tua rete condividere icone su entrambi i computer.

(1) Se stai dicendo che l'utente deve accedere direttamente alla "macchina di rete", allora suggerisco che avresti dovuto dire "Devi accedere direttamente alla macchina remota (file server)." L'autorizzazione a utilizzare una condivisione su un server non implica necessariamente l'autorizzazione / capacità di accedere direttamente ad esso. (E, IMHO, "PC di rete" è una terminologia scadente.) (2) Consiglio ancora di non inserire cose nella directory principale.  \Users\Public\Documentso l'equivalente è probabilmente migliore. E anche questo è necessario solo se si desidera utilizzare icone che non sono già sul file server.
G-Man dice "Reinstate Monica" l'

Ok, ma l'utente voleva sapere come personalizzare le icone su \\ server \ share; la risposta è che devi accedere al server; e se non metti le stesse icone nello stesso percorso sul tuo computer, non vedrai mai quelle icone (tranne sul server). Quindi possiamo discutere di tutto il resto ... terminologia, directory, ecc. Volevo fare la stessa cosa e questo è l'unico modo :)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.