Windows에서 심볼릭 링크를 어떻게 만듭니 까?


113

Windows Vista는 파일 및 디렉토리에 대한 심볼릭 링크를 만드는 기능을 추가했습니다. 심볼릭 링크를 작성하는 방법과이를 지원하는 현재 소비자 및 서버 버전은 무엇입니까?


6
누군가 심볼릭 링크와 바로 가기의 차이점을 강조 할 수 있습니까?
tomjedrz 오전

1
@tomjedrz : 단축키를 사용하는 경우 해당 단축키를 여는 API는 대상 파일 / 폴더의 경로가 포함 된 텍스트 파일을 엽니 다. 링크를 사용하는 경우 해당 링크를 여는 API가 대상 파일 / 폴더를 엽니 다.
Afriza N. Arief

2
모든 사람들의 말과 달리 Windows XP 에서 심볼릭 링크 를 사용할 수 있음 을 확인합니다 . (VM 공유 폴더에 Picasa 데이터베이스를 설치하는 데 사용합니다). schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html을 보고 "Windows XP 용 심볼릭 링크"섹션으로 이동하십시오. HTH
Adam Ryczkowski

답변:


109

명령 행 유틸리티를 사용하여 기호 링크를 작성할 수 있습니다 mklink.

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.

mklink를 통한 심볼릭 링크는 Windows Vista 및 Windows Server 2008부터 사용할 수 있습니다. Windows XP 및 Windows Server 2003에서는

fsutil hardlink create <destination filename> <source filename>

msdn.microsoft 에 따르면 Symbolic Links는 FAT16 / 32 및 exFAT에서 지원되지 않습니다. Windows는 NTFS 파티션에서만 또는 NTFS 파티션에서만 지원하는 것 같습니다. 향후 Windows 운영 체제는 mklink를 계속 지원할 것입니다.

이 새로운 기능에 대한 자세한 내용은 Microsoft TechNet , Junfeng Zhang의 블로그 또는 howtogeek.com을 참조하십시오 .


완성도를 높이려면 David 's Technet url을 입력하십시오.
Michael Pryor

사이트 노트, 접합 (/ J 옵션)이란 무엇입니까?
Roy Rico

디렉토리 접합은 디렉토리 기호 링크 유형입니다. support.microsoft.com/?kbid=205524
Lara Dougan

1
NTFS는 Windows 2000 이후로 다양한 이름을 가진 링크를 지원해 왔지만 SYSVOL 도메인 공유에서 내부적으로 만 사용되었습니다. 일부 유틸리티는 관리가 가능하지만 내장되어 있지는 않았습니다. Vista는 기본 Windows 설치에서 MKLINK 도구 및 광범위한 링크 사용을 도입했습니다.
Massimo

2
fsutil아래의 @sascha의 답변에서 Windows Server 2003 용 솔루션을 제공하는 것에 대해 언급 해
주시면 감사하겠습니다

30

Windows XP에서는 fsutil(OS에 내장)을 사용하여 하드 링크를 만들 수 있습니다

 fsutil hardlink create c:\foo.txt c:\bar.txt

fsutil은 둘 다 같은 드라이브에있는 경우에만 작동합니다.


2
좋은 대답입니다. 나는 WinXP / Win2003에 있고 mklink가 필요했지만 이것은 내 문제를 해결했다. 나는 보통 sysinternals의 junction.exe를 사용하지만 디렉토리 만 처리합니다.이 경우 파일 링크가 필요했습니다
s3v1

유감스럽게도 fsutil은 적어도 다른 곳에서 읽은 내용으로 심볼릭 링크를 만들 수 없습니다. 이것은 하드 링크이므로 질문에 대한 답변이 아닙니다.
Vlasec

10

Powershell을 사용하는 경우 mklink가 직접 작동하지 않으면 다음과 같이 실행하십시오.

PS C:\d\eclipseInstalls> cmd /k mklink /D antRunner 3.4.2
symbolic link created for antRunner <<===>> 3.4.2

1
/ k가 아닌 / c 여야합니다. 그렇지 않으면 cmd.exe가 종료되지 않습니다.
dangph

7

Sysinternals (Microsoft)의 mklink 또는 junction 을 사용하십시오 . 나는 mklink 가 Windows 2000 이상에서 작동 한다고 생각 하지만 그것에 대한 단단한 문서를 찾을 수는 없습니다. 정션 은 Windows 2000 이상입니다.


1
위에서 지적한 것처럼 mklink 명령은 Vista 및 Server 2008 이상입니다.

4

어떤 대답에서도 이것을 보지 못했지만 linkd.exe ( 여기서 Windows 2003 Resource kit )는 junction을 만들 수 있으며 Linux에서 소프트 / 하드 링크와 거의 같은 기능을합니다. 정션은 Windows 2000 이상에서 사용 가능하므로 linkd.exe를 대상 시스템에 복사하면 작동합니다.


1
`/ linkd`는 파일이 아닌 디렉토리만을위한 것입니다.
Phrogz

3

XP, 2000, 2003 등과 같은 오래된 Windows를 사용중인 경우 NTFS 링크를 사용해보십시오 .

나는 그것을 많이 사용합니다. 접점 링크를 작성하기위한 쉘 링크 마우스 오른쪽 버튼 메뉴 옵션이 표시됩니다. 훌륭한 물건.


이것은 Windows 2003에서 다른 드라이브의 폴더에 대한 심볼릭 링크를 만드는 데 효과적이었습니다. 감사!
Phil

원래 답변으로 편집 된 익명 사용자의 주석 : "참고 : XP가 작동하려면 FAT 또는 FAT32가 아닌 NTFS 파티션을 사용해야 합니다 . aumha.org/win5/a/ntfscvt.php 를 참조하십시오. NTFS로 변환하십시오. "
squillman

2

TechNet 항목을 참조하십시오 . Vista / Server 2008 이상 기능이라고 생각합니다.


이전에이 기능에 대해 알려진 적이없는 멋진 링크 덕분에 매우 유용 할 수 있습니다 !!!
Marc-Andre R.

1

링크가 작동하는지 확인하려면 서버 구성을 확인하십시오. 링크를 만들 수 있지만 다음 명령에서 symlinkevaluation 설정을 사용하지 않으면 링크가 작동하지 않을 수 있습니다.

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

http://technet.microsoft.com/en-us/library/cc754077%28v=ws.10%29.aspx를 참조하십시오 . 기본적으로 로컬 옵션 만 활성화됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.