曾几何时,我会阅读您如何以编程方式检测已安装的NTFS文件夹(在搜索文件夹时可能导致循环递归)。现在我找不到链接..有谁知道怎么做?
我感兴趣的安装是将一个文件夹安装到另一个文件夹。
答案 0 :(得分:2)
我认为你的意思是NTFS junction?有unmanaged API来获取重新分析点,然后您必须interrogate查看它是否实际上是一个结。当然,这都是available through P/Invoke。
但是,大多数人只是(1)在ReparsePoint返回的attributes列表中查找DirectoryInfo.GetDirectories。
(1)请注意,NTFS Junction是特定类型的重新分析点,但不是唯一的。符号链接,硬链接,(2)和任何其他用户定义的数据也是重新分析点。
(2)哎呀。硬链接不是重新分析点they're just standard directory entries pointing to the same file。感谢Reuben纠正了我。
答案 1 :(得分:0)
通过WMI执行此操作。请参阅示例:http://msdn.microsoft.com/en-us/library/aa393244(VS.85).aspx
或者尝试使用WMI Code Creator制作的示例代码:
using System;
using System.Management;
using System.Windows.Forms;
namespace WMISample
{
public class MyWMIQuery
{
public static void Main()
{
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_DiskPartition");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("Win32_DiskPartition instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("Type: {0}", queryObj["Type"]);
}
}
catch (ManagementException e)
{
MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
}
}
}
}