Вы можете использовать Path.GetFullPathдля большинства случаев. Но если вы хотите получить путь также, если имя файла относительно расположено, вы можете использовать следующий общий метод:
ОП нужен "C:\MyDirectory"а не MyDirectory. Совет использовать методы манипуляции со строками рискован, есть много ловушек, лучше использовать специальные Pathметоды.
@"C:\MyDirectory\MyFile.bat"
Ответы:
Если у вас определенно есть абсолютный путь, используйте
Path.GetDirectoryName(path)
.Если вы можете получить только относительное имя, используйте
new FileInfo(path).Directory.FullName
.Обратите внимание, что
Path
иFileInfo
оба находятся в пространстве именSystem.IO
.источник
new FileInfo(path).Directory.FullName
должно работать в любом случае.источник
источник
Вы можете использовать
System.IO.Path.GetDirectory(filename)
или превратить путь вFileInfo
, и использоватьFileInfo.Directory
.Если вы делаете другие вещи с этим путем, у них
FileInfo
могут быть преимущества.источник
Используйте приведенный ниже код, чтобы получить путь к папке
Это вернет "C: \ MyDirectory" в вашем случае
источник
Вы можете использовать
Path.GetDirectoryName
и просто передать имя файла.MSDN Link
источник
Если вы работаете с
FileInfo
объектом, есть простой способ извлечьstring
представление полного пути каталога черезDirectoryName
свойство.Описание
FileInfo.DirectoryName
недвижимости через MSDN:Пример использования:
Ссылка на документацию MSDN .
источник
Вы можете получить текущий путь к приложению, используя:
Удачи!
источник
Во-первых, вы должны использовать пространство имен System.IO. Затем;
или
источник
Вы можете использовать
Path.GetFullPath
для большинства случаев. Но если вы хотите получить путь также, если имя файла относительно расположено, вы можете использовать следующий общий метод:Например:
GetPath("C:\Temp\Filename.txt")
возвращение"C:\Temp\"
GetPath("Filename.txt")
вернутьсяcurrent working directory
как"C:\Temp\"
источник
В моем случае мне нужно было найти имя каталога полного пути (каталога), поэтому я просто сделал:
источник
"C:\MyDirectory"
а неMyDirectory
. Совет использовать методы манипуляции со строками рискован, есть много ловушек, лучше использовать специальныеPath
методы.Path.GetDirectoryName (Context.Parameters [ "assemblypath"])
источник
Path.GetDirectoryName
упоминается во многих других ответах (включая принятый ответ)