Мне просто интересно: я ищу способ проверить, действителен ли данный путь. (Примечание: я не хочу проверять, существует ли файл! Я хочу только подтвердить действительность пути - так, если файл может существовать в этом месте) .
Проблема в том, что я ничего не могу найти в API .Net. Из-за множества форматов и расположений, которые поддерживает Windows, я бы предпочел использовать что-то родное для MS.
Поскольку функция должна иметь возможность проверять:
- Относительные пути (./)
- Абсолютные пути (c: \ tmp)
- UNC-пути (\ some-pc \ c $)
- Ограничения NTFS, такие как полный путь 1024 символа. Если я не ошибаюсь, превышение пути сделает файл недоступным для многих внутренних функций Windows. Переименование в проводнике по-прежнему работает
- Пути GUID тома: "\? \ Volume {GUID} \ somefile.foo
У кого-нибудь есть такая функция?