创建隐藏文件夹

时间:2008-09-18 13:09:42

标签: c# .net filesystems

有什么方法可以在c#中以编程方式创建(并且我猜访问)存储设备上的隐藏文件夹?

5 个答案:

答案 0 :(得分:102)

using System.IO; 

string path = @"c:\folders\newfolder"; // or whatever 
if (!Directory.Exists(path)) 
{ 
DirectoryInfo di = Directory.CreateDirectory(path); 
di.Attributes = FileAttributes.Directory | FileAttributes.Hidden; 
}

答案 1 :(得分:25)

是的,你可以。正常创建目录然后只需在其上设置属性。 E.g。

DirectoryInfo di = new DirectoryInfo(@"C:\SomeDirectory");

//See if directory has hidden flag, if not, make hidden
if ((di.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
{   
     //Add Hidden flag    
     di.Attributes |= FileAttributes.Hidden;    
}

答案 2 :(得分:6)

CreateHiddenFolder(string name)  
{  
  DirectoryInfo di = new DirectoryInfo(name);  
  di.Create();  
  di.Attributes |= FileAttributes.Hidden;  
}  

答案 3 :(得分:4)

string path = @"c:\folders\newfolder"; // or whatever 
if (!System.IO.Directory.Exists(path)) 
{ 
    DirectoryInfo di = Directory.CreateDirectory(path); 
    di.Attributes = FileAttributes.Directory | FileAttributes.Hidden; 
}

来自here

答案 4 :(得分:-2)

仅获取Root文件夹路径的代码。

喜欢如果我们有C:/ Test / C:/测试/ ABC C:/测试/ XYZ C:/ Test2的/ C:/ Test2的/ MNP

它将返回根文件夹路径,即 C:/测试/ C:/ Test2的/

            int index = 0;
            while (index < lst.Count)
            {
                My obj = lst[index];
                lst.RemoveAll(a => a.Path.StartsWith(obj.Path));
                lst.Insert(index, obj );
                index++;                    
            }