2008-09-18 14 views
33

Czy istnieje sposób, w jaki mogę programowo utworzyć (i domyślam się uzyskać dostęp) ukryte foldery na urządzeniu pamięci masowej z poziomu C#?Tworzenie ukrytych folderów

+1

retagged, jak to nie jest język C# specyficzne pytanie –

Odpowiedz

84
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; 
} 
+8

pierwszy wynik w google –

+7

teraz jesteś pierwszy wynik w Google. – KDecker

24

Tak, można. Utwórz katalog w normalny sposób, a następnie ustaw jego atrybuty. Na przykład.

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;  
} 
+0

Jeśli klauzula może zostać zredukowana do 'if (! Di.Attributes.HasFlag (FileAttributes.Hidden))' – schoetbi

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; 
} 

Od here.

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

Kod, aby uzyskać tylko ścieżkę katalogu głównego.

jak jeśli mamy C:/test/ C:/test/Abc C:/test/xyz C:/test2/ C:/Test2/MNP

on wróci foldery korzeniowe ścieżce tj C:/test/ 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++;      
      } 
+6

Zrzuty kodów bez wyjaśnienia rzadko są przydatne. Dodaj do tego jakiś kontekst. (Być może zainteresuje Cię też informacja, że ​​odpowiedziałeś na post, który ma ponad 6 lat ...) – Chris

Powiązane problemy