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
Odpowiedz
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;
}
pierwszy wynik w google –
teraz jesteś pierwszy wynik w Google. – KDecker
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;
}
Jeśli klauzula może zostać zredukowana do 'if (! Di.Attributes.HasFlag (FileAttributes.Hidden))' – schoetbi
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.
CreateHiddenFolder(string name)
{
DirectoryInfo di = new DirectoryInfo(name);
di.Create();
di.Attributes |= FileAttributes.Hidden;
}
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++;
}
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
retagged, jak to nie jest język C# specyficzne pytanie –