Trong .NET, tôi nghĩ rằng tôi có thể xác định nếu một tập tin là một liên kết tượng trưng bằng cách gọi System.IO.File.GetAttributes(), và kiểm tra bit ReparsePoint. như vậy:Trong .NET, Làm thế nào để có được đích của một liên kết tượng trưng (hoặc Điểm tái tạo)?
var a = System.IO.File.GetAttributes(fileName);
if ((a & FileAttributes.ReparsePoint) != 0)
{
// it's a symlink
}
Làm cách nào để có được mục tiêu của liên kết tượng trưng?
ps: Tôi biết làm thế nào để tạo một liên kết tượng trưng. Yêu cầu P/Invoke:
[Interop.DllImport("kernel32.dll", EntryPoint="CreateSymbolicLinkW", CharSet=Interop.CharSet.Unicode)]
public static extern int CreateSymbolicLink(string lpSymlinkFileName, string lpTargetFileName, int dwFlags);
này dẫn tôi đến mã nguồn cho Powershell Community Extensions (PSCX), mã có mã tốt để xử lý ReparsePoints. – Cheeso