首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >确定文件是否为PowerShell中的符号链接

确定文件是否为PowerShell中的符号链接
EN

Stack Overflow用户
提问于 2009-05-03 19:27:29
回答 7查看 35.7K关注 0票数 40

我有一个遍历目录树的PowerShell脚本,有时我有一些硬链接的辅助文件,这些文件不应该被处理。有没有一种简单的方法来确定一个文件(即System.IO.FileInfo)是否是硬链接?

如果不是,使用符号链接(Symlink)会更容易吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-05-03 21:32:14

试试这个:

代码语言:javascript
复制
function Test-ReparsePoint([string]$path) {
  $file = Get-Item $path -Force -ea SilentlyContinue
  return [bool]($file.Attributes -band [IO.FileAttributes]::ReparsePoint)
}

这是一个相当小的实现,但它应该可以做到这一点。请注意,这不区分硬链接和符号链接。在本质上,它们都只是利用了NTFS reparse pointsIIRC

票数 43
EN

Stack Overflow用户

发布于 2017-02-08 23:39:05

如果您有Powershell 5+,下面的一行程序会递归地列出从d:\Temp\开始的所有文件硬链接、目录连接和符号链接及其目标

代码语言:javascript
复制
dir 'd:\Temp' -recurse -force | ?{$_.LinkType} | select FullName,LinkType,Target

输出:

代码语言:javascript
复制
FullName                                LinkType     Target
--------                                --------     ------
D:\Temp\MyJunctionDir                   Junction     {D:\exp\junction_target_dir}
D:\Temp\MySymLinkDir                    SymbolicLink {D:\exp\symlink_target_dir}
D:\Temp\MyHardLinkFile.txt              HardLink     {D:\temp\MyHardLinkFile2.txt, D:\exp\hlink_target.xml}
D:\Temp\MyHardLinkFile2.txt             HardLink     {D:\temp\MyHardLinkFile.txt, D:\exp\hlink_target.xml}
D:\Temp\MySymLinkFile.txt               SymbolicLink {D:\exp\symlink_target.xml}
D:\Temp\MySymLinkDir\MySymLinkFile2.txt SymbolicLink {D:\temp\normal file.txt}

如果您关心硬链接的多个目标,请使用此变体,它列出了以制表符分隔的目标:

代码语言:javascript
复制
dir 'd:\Temp' -recurse -force | ?{$_.LinkType} | select FullName,LinkType,@{ Name = "Targets"; Expression={$_.Target -join "`t"} }

您可能需要管理员权限才能在C:\上运行此脚本。

票数 32
EN

Stack Overflow用户

发布于 2015-12-31 00:59:04

利用Where-Object搜索ReparsePoint文件属性。

代码语言:javascript
复制
Get-ChildItem | Where-Object { $_.Attributes -match "ReparsePoint" }
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/817794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档