Se você estiver trabalhando com um FileInfoobjeto, existe uma maneira fácil de extrair uma stringrepresentação do caminho completo do diretório por meio da DirectoryNamepropriedade
Descrição da FileInfo.DirectoryNamepropriedade via MSDN:
Obtém uma string representando o caminho completo do diretório.
Você pode usar Path.GetFullPathna maioria dos casos. Mas se você deseja obter o caminho também no caso de o nome do arquivo estar relativamente localizado, use o método genérico abaixo:
O OP precisa "C:\MyDirectory"e não MyDirectory. O conselho para usar métodos de manipulação de string é arriscado, existem muitas armadilhas, em vez disso, use Pathmétodos dedicados .
@"C:\MyDirectory\MyFile.bat"
Respostas:
Se você definitivamente tem um caminho absoluto, use
Path.GetDirectoryName(path)
.Se você pode obter apenas um nome relativo, use
new FileInfo(path).Directory.FullName
.Observe que
Path
eFileInfo
são encontrados no espaço para nomeSystem.IO
.fonte
new FileInfo(path).Directory.FullName
deve funcionar em ambos os casos.fonte
fonte
Você pode usar
System.IO.Path.GetDirectory(filename)
ou transformar o caminho em aeFileInfo
usarFileInfo.Directory
.Se você estiver fazendo outras coisas com o caminho,
FileInfo
pode haver vantagens.fonte
Use o código abaixo mencionado para obter o caminho da pasta
Isso retornará "C: \ MyDirectory" no seu caso
fonte
Você pode usar
Path.GetDirectoryName
e apenas passar o nome do arquivo.Link MSDN
fonte
Se você estiver trabalhando com um
FileInfo
objeto, existe uma maneira fácil de extrair umastring
representação do caminho completo do diretório por meio daDirectoryName
propriedadeDescrição da
FileInfo.DirectoryName
propriedade via MSDN:Uso da amostra:
Link para a documentação do MSDN .
fonte
Você pode obter o caminho do aplicativo atual usando:
Boa sorte!
fonte
Primeiro, você precisa usar o espaço para nome System.IO. Então;
ou
fonte
Você pode usar
Path.GetFullPath
na maioria dos casos. Mas se você deseja obter o caminho também no caso de o nome do arquivo estar relativamente localizado, use o método genérico abaixo:Por exemplo:
GetPath("C:\Temp\Filename.txt")
Retorna"C:\Temp\"
GetPath("Filename.txt")
voltecurrent working directory
como"C:\Temp\"
fonte
No meu caso, eu precisava encontrar o nome do diretório de um caminho completo (de um diretório), então simplesmente:
fonte
"C:\MyDirectory"
e nãoMyDirectory
. O conselho para usar métodos de manipulação de string é arriscado, existem muitas armadilhas, em vez disso, usePath
métodos dedicados .Path.GetDirectoryName (Context.Parameters ["assemblypath"])
fonte
Path.GetDirectoryName
é mencionado em muitas outras respostas (incluindo resposta aceita)