Czy system Windows ma wartość ln-s lub równoważną?

38

Muszę połączyć plik z C:\Windows\System32\drivers\etc\hosts

Jak mogę to zrobić w systemie Windows? Czy istnieje miękki link taki jak ln -slub równoważny w systemie Windows?

prosseek
źródło

Odpowiedzi:

38

Szukasz polecenia „mklink”.

Dokumentacja i przykłady w Microsoft Docs lub ss64.com .

Przykład wzięty z linku:

// To create a symbolic link named MyDocs from the root directory to the \Users\User1\Documents directory, type:
mklink /d \MyDocs \Users\User1\Documents
scigor
źródło
4
Pamiętaj, że potrzebujesz uprawnień administratora, aby tworzyć dowiązania symboliczne.
Andres Riofrio
16

Mogą istnieć inne sposoby, ale tym, który znam, jest mklink:

C:\>mklink 
Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    specifies the new symbolic link name.
        Target  specifies the path (relative or absolute) that the new link
                refers to.
Matthew S.
źródło
3

skrzyżowania, ale nie wiem, czy to zrobi dokładnie to, czego potrzebujesz.

edit - przepraszam, skrzyżowanie dotyczy tylko katalogów, a nie plików

Martin Beckett
źródło
2

Jak mówi @inf, mklink jest rozwiązaniem dla systemu Vista i nowszych wersji.

W przypadku 2000 / XP możesz użyć twardego linku fsutil . Zauważ, że w przeciwieństwie do mklink, hardlink nie działa na różnych dyskach.

studgeek
źródło
1
Warto również zauważyć, że niektórzy ludzie mogą nie być świadomi, ale twarde linki stają się plikiem . Innymi słowy, możliwe jest usunięcie oryginału, a link nadal działa (i dlatego nie może działać na różnych dyskach).
Camilo Martin
Zgodnie z podanym przez ciebie linkiem, fsutil hardlink , fsutil hardlinkjest tylko dla Visty i nowszych. Czy dostępna jest starsza wersja dla Windows 2000 i XP?
matty
Rzeczywiście jest dostępny dla XP, jak opisano w dokumentach hardlink systemu Windows XP fsutil . Nie mogę zaświadczyć o jego funkcjonalności w systemie Windows 2000, ale działa w systemie Windows XP.
matty
2

Link Shell Extension może tworzyć dowiązanie symboliczne (między innymi). Ładna integracja z menu kontekstowym. Dostępne dla najbardziej aktualnych wersji systemu Windows i często aktualizowane.

Francois
źródło
1

PowerShell

Tak długo, jak Microsoft zaleca używanie programu jako interpretera poleceń od ponad 5 lat i cmd.exestaje się starszą aplikacją, na to pytanie nie ma odpowiedzi w programie PowerShell:

New-Item -path ~\Desktop\hosts -itemType SymbolicLink -target c:\Windows\System32\Drivers\etc\hosts

Działa to od Powershell v5.0

maoizm
źródło
-2

otwórz Terminal / CMD pod Android / sdk / tools, wpisz

Terminal ** ln -s emulator 64-x86 emulator-x86 ** CMD emulator mklink 64-x86 emulator-x86

zostanie utworzony jak ..

dowiązanie symboliczne utworzone dla emulator64-x86 << === >> emulator-x86

RURKA INTRA
źródło