25Aug
Jeśli masz dużą liczbę folderów skonfigurowanych do pracy i musisz korzystać z tego samego pliku skryptu we wszystkich z nich w ciągu dnia roboczego, to jaki jest najłatwiejszy sposób na wykonanie tego poza kopiowaniem i wklejaniem? Dzisiejszy post SuperUser Q & A ma kilka przydatnych odpowiedzi i porad dla sfrustrowanego czytelnika.
Dzisiejsze pytanie &Sesja odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupy Q & A.
Zrzut ekranu z uprzejmości csaveanu( Flickr).
Pytanie Czytnik
SuperUser Elliot szuka najlepszego sposobu, aby ten sam plik wyglądał jak w wielu folderach jednocześnie:
Mam ponad 50 folderów, z których każdy zawiera dużą ilość danych, które muszą zostać przetworzone. Wszystkie są przetwarzane przy użyciu tego samego kodu, przy użyciu os.path.dirname( os.path.realpath( plik)) , aby uzyskać katalog, w którym znajduje się skrypt Pythona, więc użytkownik nie musi ręcznie edytować, wystarczy dwukrotnie kliknąć.
Potrzebuję skryptu, aby wyglądał tak, jak gdyby znajdował się w każdym folderze, podczas gdy w rzeczywistości jest tylko w jednym miejscu, tak, że mogę go edytować raz, a kiedy zostanie uruchomiony z dowolnej z tych lokalizacji, ścieżka folderu będzie poprawna. Alternatywą jest edycja wzorca, a następnie wklejanie go po jednym folderze za każdym razem przez wszystkie foldery 50+ za każdym razem, gdy aktualizuję kod, co jest bardzo uciążliwe i podatne na błędy. W Linuksie mógłbym ustawić to za pomocą dowiązania symbolicznego, ale nie mogę znaleźć sposobu, aby to zrobić w systemie Windows.
Alternatywnie, sposób wklejenia pliku do wszystkich katalogów docelowych naraz, zamiast pojedynczych naraz, dałby ten sam cel.
Czy istnieje sposób, aby to zrobić zamiast kopiować i wklejać plik skryptu po jednym folderze na raz?
Odpowiedź Odpowiedź
SuperUser gronostaj ma odpowiedź dla nas:
Potrzebujesz Symboliczny link lub twardy link .
Łącza symboliczne ( lub Symlinks w skrócie) są dość podobne do skrótów: istnieje jeden rzeczywisty plik i wiele odniesień( Symlinks ) do niego. Mają nawet tę małą strzałkę na ikonach. W przeciwieństwie do skrótów
Symlinks może mieć dowolne rozszerzenie.
Twarde łącza wiąże plik na dysku twardym z lokalizacją w drzewie katalogów. Każdy plik ma co najmniej jeden , w przeciwnym razie nie istnieje w żadnym katalogu. Jeśli plik ma wiele twardych łączy
, nie można odróżnić oryginalnego od pozostałych, a plik fizycznie istnieje tylko w jednej lokalizacji.
Oba mają swoje ograniczenia:
- Niektóre programy nie ładnie współpracują z Symlinks .
- Usunięcie oryginalnego pliku powoduje zerwanie wszystkich jego Symlinks .
- Nie można Twarde łącze folderów( ale można utworzyć węzeł katalogowy, jeśli Symlink nie jest wystarczający).
- Tworzenie między partycjami jest niemożliwe.
Symlinks są zwykle wystarczające.
Aby utworzyć łącze symboliczne lub twarde:
1. Uruchom uprzywilejowany wiersz polecenia: Naciśnij Windows Key , wpisz cmd , następnie naciśnij Ctrl + Shift + Enter .
2. Wydaj komendę mklink:
- mklink nazwa_linii link_target dla pliku Symlink
- mklink / d nazwa_linku link_target dla folderu Symlink
- mklink / h nazwa_linku link_target dla pliku Twardy odsyłacz
- mklink / j nazwa_link link_target dla Directory Junction
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.