Какие существуют способы использования каталогов в Windows?

Я получаю каталоги от пользователей и сохраняю их в базах данных. Мне действительно нужна проверка, верны ли они. Прямо сейчас у меня есть список каталогов, которые можно использовать допустимым образом.

Только имя диска - (с прямой или обратной косой чертой и без нее)

X:                    

Диск с каталогом - (с прямой или обратной косой чертой и с прямой или обратной косой чертой и без нее)

X:\Test  

Только две прямые или обратные косые черты (без завершающей прямой или обратной косой черты)

\\teela\admin$

IP-адрес - (с прямой или обратной косой чертой и без нее)

\\192.168.1.13

IP-адрес с каталогом - (с прямой или обратной косой чертой и с прямой или обратной косой чертой или без нее)

\\192.168.1.13\test

Скажите пожалуйста, это полный список или мы можем написать каталоги по-другому?


person om471987    schedule 03.04.2012    source источник
comment
..\..\..\..\это\это\относительный\путь   -  person Steve    schedule 03.04.2012
comment
IP-адреса, как вы их написали, это просто обычный относительный путь. Вам нужно добавить `\`, чтобы сделать их путем UNC. Также пути UNC состоят из имени сервера и общего ресурса...   -  person Joey    schedule 03.04.2012
comment
Спасибо, Стив, я позабочусь о том, чтобы люди не могли ввести относительный путь :) большое спасибо   -  person om471987    schedule 03.04.2012
comment
Спасибо, Джоуи, я позабочусь о том, чтобы люди могли добавлять только абсолютные пути, а не относительные...   -  person om471987    schedule 04.04.2012
comment
Вам также необходимо учитывать переменные среды, такие как %HOMEPATH% или %APPDATA% Проверьте Libertyboy.free.fr/computing/reference/envariables/index.php   -  person Murtnowski    schedule 04.04.2012
comment
Спасибо, Мутновски, переменные среды являются абсолютными путями, но проблема только в том, что мне нужно проверить, установлены ли они, прежде чем использовать их. Большое спасибо, чувак   -  person om471987    schedule 04.04.2012


Ответы (1)


Вы можете использовать библиотеку NDepend.Helpers.FileDirectoryPath, чтобы сделать это за вас. Он включает в себя API проверки правильности пути.

person markyd13    schedule 03.04.2012