Hvordan laver du en enkelt fil 'Vis' for at være i flere mapper på samme tid?
Hvis du har et stort antal mapper oprettet til dit arbejde og skal bruge den samme scriptfil i alle dem i løbet af arbejdsdagen, hvad er den nemmeste måde at opnå det ud over en masse kopiering og indsætning? Dagens SuperUser Q & A-indlæg har nogle nyttige svar og råd til en frustreret læser.
Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.
Skærmbillede høflighed af csaveanu (Flickr).
Spørgsmålet
SuperUser-læser Elliot søger den bedste måde at få den samme fil til at ligge i flere mapper samtidig:
Jeg har 50 + mapper, der hver indeholder en stor mængde data, der skal behandles. Alle af dem behandles ved hjælp af den samme nøjagtige kode ved hjælp af os.path.dirname (os.path.realpath (fil)) for at få den mappe, hvor python-scriptet er placeret, så der ikke er nogen manuel redigering, som brugeren behøver, skal de bare dobbeltklikke.
Jeg har brug for at scriptet vises som om det er i hver mappe, mens det faktisk er på ét sted, så jeg kan redigere det en gang, så når det køres fra nogen af disse steder, har mappebanen ret. Alternativet redigerer mesteren og indsætter den en mappe ad gangen gennem alle 50 + mapper hver gang jeg opdaterer koden, hvilket er meget kedeligt og fejlagtigt. På Linux kunne jeg oprette dette med et symbolsk link, men jeg kan ikke finde ud af en måde at gøre dette på med Windows.
Alternativt ville en måde at indsætte filen i alle målmapper på én gang, i stedet for en ad gangen, opnå det samme mål.
Er der en måde at gøre dette i stedet for at kopiere og indsætte scriptfilen en mappe ad gangen?
Svaret
SuperUser bidragyder gronostaj har svaret for os:
Du har brug for en Symbolisk Link eller a Hard Link.
Symboliske Links (eller symlinks for kort) svarer meget til genveje: der er en faktisk fil og flere referencer (symlinks) til det. De har endda den lille pil på ikonerne. I modsætning til genveje, symlinks kan have en udvidelse.
Hårde Links binde en fil på en harddisk til en placering i katalogtræet. Hver fil har mindst en Hard Link, ellers ville det ikke findes i nogen mappe. Hvis en fil har flere Hårde Links, den oprindelige kan ikke skelnes fra de andre, og filen eksisterer fysisk på kun ét sted.
Begge har deres begrænsninger:
- Nogle software spiller ikke pænt med symlinks.
- Sletning af den oprindelige fil efterlader hele dens symlinks gået i stykker.
- Du kan ikke Hard Link mapper (men du kan oprette en Directory Junction hvis a symlink er ikke nok).
- Oprettelse af tværsnit Hårde Links er umuligt.
symlinks er normalt tilstrækkelige.
Sådan opretter du et symlink eller en hard link:
1. Start en privilegeret kommandolinje: Tryk på Windows nøgle, type cmd, tryk derefter på Ctrl + Shift + Enter.
2. Udsted kommandoen mklink:
- mklink link_name link_target for en fil symlink
- mklink / d linknavn link_target til en mappe symlink
- mklink / h link_name link_target for en fil Hard Link
- mklink / j link_name link_target for a Directory Junction
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.