Проверить, есть ли путь действителен

Мне просто интересно: я ищу способ проверить, действительно ли данный путь действителен. (Примечание: я не хочу проверять, существует ли файл! Я хочу только подтвердить правильность пути - так, если файл может существовать в этом месте) .

Проблема в том, Я ничего не могу найти в API .Net. Из-за множества форматов и расположений, которые поддерживает Windows, я бы предпочел использовать что-то родное для MS.

Поскольку функция должна иметь возможность проверять:

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

Есть ли у кого-нибудь такая функция?

101
задан InteXX 8 August 2017 в 01:42
поделиться