ну так а в чем тогда проблема? Ищешь только локальный путь, как выясняется (и видимо, только абсолютный, как можно предположить).
Первый символ - всегда A-Z,
Второй - всегда двоеточие,
Третий - всегда слэш.
Слэши только левые (?) и уж точно не два и более подряд. Задача-то школьная.
Добавлено: но - я так понимаю, поскольку ты что-то вроде инсталлятора хочешь получить, то по хорошему для твоего конкретно случая все равно надо проверять, существует ли в системе хотя бы введенная буква диска, плюс при этом система возвращает >1 на запрос его типа. Ну и не DRIVE_CDROM, само собой.
Опять же, матчасть:
http://umodel.narod.ru/webhelp/ams/Program_Reference/Actions/Drive.GetType.htm Опять же, заранее убедиться в достаточных правах доступа на создание пока несуществующего пути, чтобы не гонять пользователя по диалогам ошибок и кнопкам "Назад". Убедиться в достаточном свободном месте на выбранном диске... с другой стороны, грамотный уважающий себя инсталлятор должен уметь работать и с относительными путями, как это делает сегодня любой заурядный SFX-архив.
В этом случае самым простым и эффективным может оказаться вообще не проверять корректность пути, как ни странно. Точнее проверять, но (удачной или нет) попыткой создания этого самого file.tst перед началом основных действий, и в случае неудачи выдавать пользователю
информативный GetLastError(), полагаясь на разум ОС.
Конечно, мусор file.tst за собой надо будет прибрать при любом раскладе ("все Ок", или "Есть права, но Нет места", обязательно для "Все Ок, но юзер решил сменить папку", итд).