2013-07-18 7 views
1

Я создал имя каталога «DbInventory» в диске E моей машины Теперь в моем приложении C# я хочу получить полный путь этой directoty (DbInventory).Как получить полный путь к каталогу

пыльник Я упоминаю код я использовал

DirectoryInfo info = new DirectoryInfo("DbInventory"); 
string currentDirectoryName = info.FullName; 

Но эта currentDirectoryName строка возвращает местоположение файла в C диске.

+1

У вас есть googled? –

+1

Почему вы уверены, что приложение будет искать каталог на диске E вместо каталога на диске C? –

+0

при догадках ... содержит ли местоположение диска C 'bin/debug'? – Sayse

ответ

3

Прежде всего, DirectoryInfo конструктор принимает параметр в виде строки с полным путем. Когда вы просто пишете имя папки, оно получает местоположение вашего пути по умолчанию Visual Studio, который наиболее часто встречается в вашем C:/ диске и под папкой Bin/Debug.

Так что на моем компьютере currentDirectoryName будет;

C:\Users\N53458\Documents\Visual Studio 2008\Projects\1\1\bin\Debug\DbInventory 

Если вы хотите, чтобы получить полный путь к файлу, вы можете использовать метод Path.GetDirectoryName;

Возвращает информацию о каталоге для указанной строки пути.

0

попытка Server.MapPath

string currentDirectoryName =Server.MapPath(info.FullName); 

надеюсь, что это будет работать для вас

1

Вы создаете с

new DirectoryInfo("DbInventory"); 

новый каталог на диске по умолчанию (C). Посмотрите на: MSDN

Если вы хотите получить объект информации о каталогах уже созданного на диске E, вам необходимо указать путь.

+0

Я согласен с вами, но если OP имеет полный путь, то OP не нужно будет использовать информацию о директории вообще :) +1 – Sayse

1

Вы можете использовать Path.GetDirectoryName

DirectoryInfo info = new DirectoryInfo("DbInventory"); 
string currentDirectoryName = info.FullName; 
string directoryPath = Path.GetDirectoryName(path); 
Смежные вопросы