PowerShell 1.0에서 Unix와 유사한 하드 및 소프트 링크를 만들 수 있습니까?
이것이 내장되어 있지 않으면 누군가 이것을 모방하는 ps1 스크립트가있는 사이트를 가리킬 수 있습니까?
이것은 훌륭한 쉘 IMHO의 필수 기능입니다. 🙂
답변
PowerShell에서 mklink제공 한을 호출하여 cmd기호 링크를 만들 수 있습니다.
cmd /c mklink c:\path\to\symlink c:\target\file당신은 통과해야 /d에 mklink대상이 디렉토리 인 경우.
cmd /c mklink /d c:\path\to\symlink c:\target\directory하드 링크의 경우 Sysinternals Junction 과 같은 것을 제안합니다 .
답변
Windows 10 (및 일반적으로 Powershell 5.0)을 사용하면 New-Item cmdlet을 통해 심볼릭 링크를 만들 수 있습니다 .
용법:
New-Item -Path C:\LinkDir -ItemType SymbolicLink -Value F:\RealDir또는 프로필에서 :
function make-link ($target, $link) {
    New-Item -Path $link -ItemType SymbolicLink -Value $target
}다음 과 링크 할 때 관리자 권한을 요구하지 않도록 개발자 모드 를 켜십시오 New-Item.
답변
“pscx”모듈 추가
아니요, PowerShell에 기본 제공되지 않습니다. 또한 mklink유틸리티 는 “내부 명령”으로 직접 내장되어 cmd.exe있으므로 Windows Vista / Windows 7에서 자체적으로 호출 할 수 없습니다 .
PowerShell 커뮤니티 확장 (무료)을 사용할 수 있습니다 . 다양한 유형의 재분석 지점에 대한 몇 가지 cmdlet이 있습니다.
- New-HardLink,
- New-SymLink,
- New-Junction,
- Remove-ReparsePoint
- 다른 사람.
답변
Windows 7에서 명령은
fsutil hardlink create new-file existing-filePowerShell은 전체 경로 (c : \ Windows \ system32) 또는 확장명 (.exe)없이 파일을 찾습니다.
답변
새로운 심볼릭 링크 :
Function New-SymLink ($link, $target)
{
    if (test-path -pathtype container $target)
    {
        $command = "cmd /c mklink /d"
    }
    else
    {
        $command = "cmd /c mklink"
    }
    invoke-expression "$command $link $target"
}심볼릭 링크 제거 :
Function Remove-SymLink ($link)
{
    if (test-path -pathtype container $link)
    {
        $command = "cmd /c rmdir"
    }
    else
    {
        $command = "cmd /c del"
    }
    invoke-expression "$command $link"
}용법:
New-Symlink "c:\foo\bar" "c:\foo\baz"
Remove-Symlink "c:\foo\bar"답변
junction.exe를 사용해보십시오
정션SysInternals 명령 행 유틸리티를 사용하면 junction을 쉽게 작성하고 삭제할 수 있습니다.
추가 자료
- MS 용어 : soft! = 기호
 Microsoft는 “소프트 링크” 를 “junction”의 다른 이름으로 사용합니다 .
 그러나 “기호 링크” 는 완전히 다른 것입니다.
 MSDN : Windows의 하드 링크 및 접합 을 참조하십시오 .
 “이것은 “소프트 링크 “ 와 “기호 링크 “ ( “symlink “ ) 가 동일한 것을 의미 하는 용어의 일반적인 사용법과는 모순됩니다 .)
답변
이 유틸리티를 사용할 수 있습니다 :
c:\Windows\system32\fsutil.exe create hardlink
