Quali diversi tipi di collegamento ci sono?


8

Ho notato che Windows sembra essere in grado di creare diversi tipi di scorciatoie. Al momento, sto cercando di capire un collegamento alla cartella presente nella cartella Collegamenti di rete del mio profilo. In Esplora risorse appare come una cartella con il collegamento sovrapposto, il Tipo elencato è "Cartella file" e facendo doppio clic su di esso mi porta in un percorso di rete. La sua visualizzazione in PowerShell mostra che si tratta di una cartella e al suo interno è presente un file "target.lnk".

Inoltre, trovo spesso che nella finestra Proprietà di altre scorciatoie manchi il campo "Destinazione". Penso che queste potrebbero essere scorciatoie di Windows Installer. Escludendo giunzioni e collegamenti simbolici, esistono altri tipi di scorciatoie? Meglio ancora, c'è qualche documentazione che posso guardare che li elenca tutti?

* modifica: ulteriori informazioni di seguito sul tipo di collegamento di cui mi occupo principalmente.

Explorer vede una cartella (BShacklett) come scorciatoia. Powershell vede quanto segue:

Directory: C:\Users\bshacklett\AppData\Roaming\microsoft\windows\Network
Shortcuts\BShacklett


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
---hs        2012-06-11     10:50         75 desktop.ini
-a---        2012-06-11     10:50       1450 target.lnk

PS C:\Users\bshacklett\AppData\Roaming\microsoft\windows\Network Shortcuts> cat .\BShacklett\desktop.ini

[.ShellClassInfo]
CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
Flags=2

Guarda la mia risposta superuser.com/a/456173/139371
Massimo

Risposte:


4

Non esiste un elenco completo, ma quello che stai guardando si chiama "scorciatoia da cartella" , una cartella che si comporta come una scorciatoia per un altro oggetto e non è documentata (almeno da Microsoft).

Come hai visto, è una cartella normale che contiene i file desktop.inie target.lnk. Il .lnkfile è un normale file di scelta rapida che deve essere nominato target.lnke desktop.inicontiene quanto segue:

[.ShellClassInfo]
CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
Flags=2

È possibile visualizzare alcune informazioni su come viene gestito da Explorer nella seguente voce di registro:

HKCR\CLSID\{0AFACED1-E828-11D1-9187-B532F1E9575D}

Sostanzialmente si comportano come un alias per una cartella, tranne per il fatto che non assumono automaticamente il layout di quello reale. Cioè, se attivi e ridimensioni le colonne in una cartella, quindi crei un collegamento a una cartella, aprendo la cartella tramite il collegamento alla cartella potrai vedere il contenuto effettivo della cartella originale, ma la configurazione delle colonne (e altro attributi come la posizione della finestra, ecc.) saranno i valori predefiniti, non quelli personalizzati: l'apertura della cartella originale con mezzi regolari (direttamente, collegamento al file, ecc.) la visualizzerà con le personalizzazioni.

Come si può immaginare dal fatto che l'identificatore di classe utilizzato per creare scorciatoie di cartelle punta shell32.dll, vengono risolti solo da Explorer e trattati come normali directory dall'interprete dei comandi (e PowerShell).

In pratica non vengono usati frequentemente, ma possono essere in qualche modo utili e sono quasi come un alias, il che è carino perché le versioni precedenti di Windows (come ME, 2000 e XP) non supportavano bene alcuni tipi di alias, se non del tutto. Un modo in cui vengono creati automaticamente da Explorer è quando trascini una cartella nel menu Start. Quando si trascina una cartella in un'altra cartella, nella barra di avvio rapido, ecc., Viene creato un normale collegamento di file nella cartella, ma quando si trascina nel menu Start, viene creato un collegamento di cartella che consente di essere simile un sottomenu (ovvero espandibile).

Una cosa da notare è che mentre puoi usarli per creare menu espandibili, si comportano solo in questo modo a un livello. Pertanto, creando un collegamento a una cartella, inserendolo in un'altra cartella, quindi creando un collegamento a quella cartella e inserendolo in un menu non sarà possibile creare un menu espandibile a tre livelli. Invece, quello che otterrai è un menu che contiene una cartella che si espande per mostrare un'altra cartella che si espande per mostrare un collegamento chiamato target.


Piccola correzione: 2000 e XP supportavano le giunzioni (sono state introdotte con la versione NTFS fornita con 2000). Tuttavia, non supportavano i collegamenti simbolici: quelli venivano forniti con Vista. Presumibilmente, i "collegamenti alle cartelle" funzionano nelle versioni di Windows basate su DOS (3.1 [?], 95, 98, ME) (e successive).
Bob

@Bob, grazie; Ho rimosso il termine giunzione per semplificarlo e chiarire il punto. I collegamenti alle cartelle hanno funzionato in ME e versioni successive (almeno secondo il libro; non ho ancora testato).
Synetech,

Huh, mi aspettavo che esistesse almeno nel 98SE. Inoltre, non sapevo nemmeno delle scorciatoie da cartella prima della tua risposta.
Bob

1

Ci sono Shortcutssemplicemente *.lnkfile e Junction/ Hard link/ Symbolic linkche sono oggetti NTFS. Non mescolarli.

Shortcutspuò essere indirizzato a Paths(file e cartelle) e PIDL's(che non sono modificabili nell'interfaccia di Explorer).


1

Oltre ai 4 tipi elencati da @Maximus, esiste un 5 ° tipo che sono scorciatoie di sistema "speciali" definite nel registro.

Esempi di questi includono cose come le "librerie" in Windows 7, Font, Stampanti, ecc.

.lnk e Junctions sono specifici di Windows (partizione NTFS). Collegamenti hard e simbolici si trovano anche in molti altri sistemi di archiviazione, inclusi tutti i sistemi operativi UNIX come Linux (Linux, BSD, Mac, ecc.).

I collegamenti fissi e simbolici possono essere impostati solo dalla riga di comando con strumenti nativi di Windows. Ma c'è un eccellente componente aggiuntivo di Windows Explorer che ne consente la creazione. Le giunzioni possono essere create dalla riga di comando o dall'utilità del disco del Pannello di controllo di Windows. I collegamenti Lnk sono specifici di Windows Explorer.

Preferisco di gran lunga usare i collegamenti simbolici per la maggior parte degli scopi. Funzionano bene con ambienti di sistemi operativi misti e funzionano con la maggior parte dei software Windows.


Inoltre, i collegamenti simbolici sono molto più coerenti con gli strumenti di backup / archiviazione a cui si può dire di seguirli (non ho sentito parlare di nulla che segue i collegamenti lnk)
PPC

Hai qualche idea sul tipo di collegamento che ho citato nel mio post? La cartella con il file target.lnk in esso?
bshacklett,

@PPC: È molto improbabile che qualsiasi altra cosa diversa da Windows Explorer stesso capisca di seguire i collegamenti di tipo .lnk.
Julian Knight,

@bshacklett: il mio laptop Windows è stato rotto in questo momento, quindi non posso indagare ulteriormente. Hai provato ad aprire target.lnk con un editor di testo per vedere cosa c'è dentro? Penso che Massimo abbia fornito le informazioni su questo tipo di collegamento.
Julian Knight,

@JulianKnight: è molto difficile aprire Windows da soli, perché Windows Explorer cerca di seguirli e aprire la destinazione. Per fare ciò, la soluzione più semplice che conosco è quella di utilizzare un sistema non Windows. Oppure puoi fare clic con il tasto destro> proprietà, ti darà la maggior parte di ciò che vuoi sapere.
PPC
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.