Есть ли способ, с помощью которого я могу программно создавать (и, я предполагаю, доступ) скрытые папки на устройстве хранения данных изнутри C#?Создание скрытых папок
ответ
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;
}
первый результат на Google – 2008-09-18 13:12:31
Теперь вы первый результат на Google. – KDecker 2015-08-25 19:11:26
Да, вы можете. Создайте каталог как обычно, а затем просто установите атрибуты на нем. Например.
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;
}
Если предложение можно свести к `if (! Di.Attributes.HasFlag (FileAttributes.Hidden))` – schoetbi 2017-04-05 12:24:52
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.
CreateHiddenFolder(string name)
{
DirectoryInfo di = new DirectoryInfo(name);
di.Create();
di.Attributes |= FileAttributes.Hidden;
}
Код, чтобы получить только путь к корневым папкам.
Как Если мы имеем C:/Test/ C:/Test/Abc C:/Test/хуг C:/Test2/ C:/test2/MNP
Это будет возвращать корневые папки пути т.е. 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++;
}
retagged, так как это не C# языка конкретный вопрос – 2008-09-18 14:35:20