powershell - 找出文件是否是 PowerShell 中的符号链接(symbolic link)

标签 powershell symlink hardlink

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

如果没有,使用符号链接(symbolic link)(符号链接(symbolic link))会更容易吗?

最佳答案

试试这个:

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

这是一个非常简单的实现,但它应该可以解决问题。请注意,这不区分硬链接(hard link)和符号链接(symbolic link)。在下面,他们都只是利用 NTFS reparse points , IIRC .

关于powershell - 找出文件是否是 PowerShell 中的符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/817794/

相关文章:

Powershell:为.txt文件中的数据添加前缀字符串

powershell - 微软在 PowerShell CmdLet 参数命名方面的一致性

powershell - AWS Powershell - 按名称获取 SNS 主题

linux - 在软链接(soft link)链接的目录中查找文件

linux - 我可以从 Yocto 配方为尚不存在的文件创建符号链接(symbolic link)吗

linux - 在 Linux 上创建硬链接(hard link)期间的 EACCES 与 link(2) 手册页中的任何原因不匹配

linux - 在服务器上删除重复的 Git 分支

powershell 比较两个文件并用侧面指示器列出它们的列作为匹配/不匹配

linux - 从文件内容创建符号链接(symbolic link)

azure - [kernel32.dll]RavenDb 嵌入式备份期间 Azure 网站上的 CreateHardLink 失败并显示 "Cannot create a file when that file already exists"