powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как проверить - является ли директория ссылкой?
9 сообщений из 9, страница 1 из 1
Как проверить - является ли директория ссылкой?
    #38525341
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Директория "C:\Users\All Users" является ссылкой на "С:\ProgramData" .
Есть ли в framework метод, который позволяет проверить - является ли директория ссылкой или нет?
Я ничего подобного не нашёл на msdn.
...
Рейтинг: 0 / 0
Как проверить - является ли директория ссылкой?
    #38525360
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе нужно именно вывести ссылочные директории, или у тебя проблема, скажем, с рекурсивным обходом поддиректорий?
...
Рейтинг: 0 / 0
Как проверить - является ли директория ссылкой?
    #38525376
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно проверить - является ли директория ссылкой на другую, чтобы по 2 раза не сканировать и не отслеживать изменения файлов.

Например, этот код возвращает - является ли ФАЙЛ ссылкой, а мне нужно директорию проверить как-то

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
bool IsShortcut(string path)
        {
            string directory = Path.GetDirectoryName(path);
            string file = Path.GetFileName(path);

            //C:\Windows\system32\shell32.dll
            Shell32.Shell shell = new Shell32.Shell();
            Shell32.Folder folder = shell.NameSpace(directory);
            Shell32.FolderItem folderItem = folder.ParseName(file);

            if (folderItem != null)
            {
                return folderItem.IsLink;
            }

            return false;
        }
...
Рейтинг: 0 / 0
Как проверить - является ли директория ссылкой?
    #38525379
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как проверить - является ли директория ссылкой?
    #38525391
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
            System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"c:\users\all users");
            if( (di.Attributes & System.IO.FileAttributes.ReparsePoint) !=0){
                // детали WinApi откроет
            }
...
Рейтинг: 0 / 0
Как проверить - является ли директория ссылкой?
    #38525396
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris Тут рассказывают

там в коде этого нет - является ли директория ссылкой или нет.
...
Рейтинг: 0 / 0
Как проверить - является ли директория ссылкой?
    #38525407
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил
Код: c#
1.
2.
3.
4.
            System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"c:\users\all users");
            if( (di.Attributes & System.IO.FileAttributes.ReparsePoint) !=0){
                // детали WinApi откроет
            }



Да, вот это работает ReparsePoint .


Спасибо.
...
Рейтинг: 0 / 0
Как проверить - является ли директория ссылкой?
    #38525594
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StudentsДа, вот это работает ReparsePoint
Которые бывают разными :
NTFS file systems can contain reparse points in the form of junction points, symbolic links, and hard links . The .NET Framework methods such as GetFiles and GetDirectories will not return any subdirectories under a reparse point. This behavior guards against the risk of entering into an infinite loop when two reparse points refer to each other. In general, you should use extreme caution when you deal with reparse points to ensure that you do not unintentionally modify or delete files. If you require precise control over reparse points, use platform invoke or native code to call the appropriate Win32 file system methods directly.
Studentsтам в коде этого нет - является ли директория ссылкой или нет.
А нужно сразу на блюдечке с голубой каемочкой?
...
Рейтинг: 0 / 0
Как проверить - является ли директория ссылкой?
    #38525922
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, разными, но всё же как я понял всё это ссылки, а не папки.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как проверить - является ли директория ссылкой?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]