Come si fa a rendere un singolo file 'Appear' in più cartelle allo stesso tempo?
Se hai un numero elevato di cartelle configurate per il tuo lavoro e hai bisogno di utilizzare lo stesso file di script in tutte loro durante la giornata lavorativa, qual è il modo più semplice per farlo oltre un sacco di operazioni di copia e incolla? Il post di Q & A di SuperUser di oggi ha alcune utili risposte e consigli per un lettore frustrato.
La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.
Schermata per gentile concessione di csaveanu (Flickr).
La domanda
Lettore SuperUser Elliot sta cercando il modo migliore per avere lo stesso file in più cartelle contemporaneamente:
Ho oltre 50 cartelle, ognuna delle quali contiene una grande quantità di dati che devono essere elaborati. Tutti vengono elaborati utilizzando lo stesso codice esatto, utilizzando os.path.dirname (os.path.realpath (file)) per ottenere la directory in cui si trova lo script python in modo che l'utente non abbia bisogno di modifiche manuali, è sufficiente fare doppio clic.
Ho bisogno che lo script appaia come se fosse in ogni cartella mentre in realtà si trova in un'unica posizione in modo che io possa modificarlo una volta, quindi quando viene eseguito da una di queste posizioni il percorso della cartella sia corretto. L'alternativa è modificare il master e incollarlo una cartella alla volta attraverso tutte le 50+ cartelle ogni volta che aggiorno il codice, che è molto noioso e soggetto a errori. Su Linux, ho potuto impostare questo con un collegamento simbolico, ma non riesco a capire un modo per farlo con Windows.
In alternativa, un modo per incollare il file in tutte le directory di destinazione contemporaneamente, anziché uno alla volta, raggiungerebbe lo stesso obiettivo.
C'è un modo per farlo, piuttosto che copiare e incollare il file di script una cartella alla volta?
La risposta
Il collaboratore di SuperUser gronostaj ha la risposta per noi:
Avete bisogno di un Link simbolico o a Hard Link.
Collegamenti simbolici (o link simbolici in breve) sono abbastanza simili alle scorciatoie: c'è un file reale e più riferimenti (link simbolici) ad esso. Hanno anche quella piccola freccia sulle icone. A differenza delle scorciatoie, link simbolici può avere qualsiasi estensione.
Collegamenti duri associare un file su un disco rigido a una posizione nell'albero delle directory. Ogni file ha almeno uno Hard Link, altrimenti non esisterebbe in nessuna directory. Se un file ha più di Collegamenti duri, l'originale non può essere distinto dagli altri e il file esiste fisicamente in un'unica posizione.
Entrambi hanno i loro limiti:
- Alcuni software non funzionano bene con link simbolici.
- L'eliminazione del file originale lascia tutti i suoi link simbolici rotto.
- Non puoi Hard Link cartelle (ma è possibile creare un nodo di directory se a symlink non è abbastanza).
- Creazione di una partizione incrociata Collegamenti duri è impossibile.
link simbolici sono di solito sufficienti.
Per creare un collegamento simbolico o un collegamento fisico:
1. Avvia una riga di comando privilegiata: premi il tasto Chiave di Windows, genere cmd, quindi premere Ctrl + Maiusc + Invio.
2. Emettere il comando mklink:
- mklink link_name link_target per un file symlink
- mklink / d link_name link_target per una cartella symlink
- mklink / h link_name link_target per un file Hard Link
- mklink / j link_name link_target per a Directory Junction
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.