Come posso accedere alle directory in questo modo?


1

Ho C:\HardDrive1\name\e D:\HardDrive2\name. Voglio rendere (almeno di sola lettura) l'accesso a queste cartelle in I:\name(ad esempio). Questo è possibile su Windows? Inoltre sono interessato c'è un modo UNIX per farlo?


Windows 7 (e possibilmente Vista) ha collegamenti simbolici. le finestre più vecchie hanno giunzioni. In questo caso, potresti voler essere specifico sulle versioni.
Journeyman Geek

Risposte:



1

Su Windows 7 e Vista, c'è l'utilità della riga di comando mklinkper creare collegamenti simbolici , per il resto, c'è junctionda sistemi di sistema che creano i cosiddetti punti di giunzione .

Alcune cose da tenere a mente:

  • Giunzioni e collegamenti simbolici sono collegamenti software tra due directory.
  • Non utilizzare mai strumenti di eliminazione ricorsiva per rimuovere un junction (Windows 2000, XP), eliminerà prima i file all'interno del junction (eliminando così i file reali). Utilizzare lo strumento rmdirper eliminare i punti di giunzione.
  • Se elimini un collegamento simbolico (creato con mklink, Windows Vista e 7), questo scomparirà.

Se si elimina la directory reale, il collegamento junction / simbolico sarà una directory vuota da ora in poi.

  • È OBBLIGATORIO che entrambe le partizioni siano formattate come NTFS per creare giunzioni o collegamenti simbolici.

Uso:

Innanzitutto, creare le cartelle a cui indicheranno le giunzioni / collegamenti simbolici, in questo esempio, I:\name1e I:\name2. Le giunzioni hanno bisogno di una cartella NTFS vuota a cui puntare!

C:\>mklink /d "I:\name1" "C:\HardDrive1\name"
C:\>mklink /d "I:\name2" "D:\HardDrive2\name"

Oppure, su XP usando junction.exe

C:\>junction /d "I:\name1" "C:\HardDrive1\name"
C:\>junction /d "I:\name2" "D:\HardDrive2\name"

Il problema è che non voglio creare solo due collegamenti I:\name1 I:\name2. Ciò di cui ho veramente bisogno è accedere a due (o forse più) percorsi dallo stesso percorso (virtuale). La soluzione possibile è quella di creare un collegamento (giunzione) per ogni file (cartella) dalla C:\HardDrive1\name D:\HardDrive2\name Z:\HardDrive1000\namedirectory di destinazione I:\name. Questo funziona perfettamente. Ma questo brutto hack IMO (nel mio caso ho bisogno di creare 100K collegamenti per unità).
ShyMan,

Non è possibile puntare due incroci nella stessa cartella. Il mio suggerimento è, basta spostare le cartelle C: \ HardDrive1 in c: \ HardDrive1000 in una cartella c: \ HardDrives e giunzioni / mklink. Ora ne hai bisogno solo uno per unità e raggiungi comunque il massimo a 26 unità (dalla A alla Z)
sinni800,

@sinni, sciocchezze. È possibile puntare tutti i collegamenti, siano essi collegamenti simbolici o incroci, quanti si desidera nella stessa posizione. (Alla fine, entrambi sono solo punti di analisi che contengono il percorso testuale del loro bersaglio, nessuna magia profonda. Per questo motivo e il fatto che i dischi possono essere spostati fisicamente, implementare tali restrizioni arbitrarie non è solo non necessario; è anche impossibile.)
Grawity

@sinni, inoltre, è non obbligatorio che il bersaglio file system sia NTFS; link simbolici e raccordi sono puntatori unidirezionali ad un percorso testuale arbitraria, e mentre possono essere creati solo in NTFS, si può puntare a pressoché nulla (collegamenti simbolici possono anche indicare condivisioni di rete).
Grawity

@sinni, per chiarire il mio primo commento: un link può puntare esattamente a un target, ma un target può avere un numero qualsiasi di link che lo puntano.
Grawity
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.