如何遵循powershell中的快捷方式

时间:2017-09-18 09:54:03

标签: powershell symlink shortcut cd

在powershell中,您使用cd dir进入目录dir

但如果dir是目录的快捷方式,则cd dircd dir.lnk都会出错,并说该目录不存在。

那么我该如何遵循这条捷径?

(在Linux中cd dir 正常工作。在Windows中,我不知道)

2 个答案:

答案 0 :(得分:5)

使用shell com-object,您可以获取目标路径,然后从那里执行您想要的操作。 Get-ShortcutTargetPath

function Get-ShortcutTargetPath($fileName) {
    $sh = New-Object -COM WScript.Shell
    $targetPath = $sh.CreateShortcut($fileName).TargetPath 
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($sh) | Out-Null
    return $targetPath
}


$file = 'Path\to\Filename.lnk'
$TargetPath = Get-shortcutTargetPath($file)

if (Test-Path -PathType Leaf $TargetPath) {
    $TargetPath = Split-Path -Path $TargetPath
}

Set-Location $TargetPath

答案 1 :(得分:0)

在Windows 10 cd directory_name或cd dir *中,如果您只希望部分名称,并且假定没有其他目录以相同的dir *开头。

enter image description here