Pegar diretorio sem o nome do arquivo

15/08/2012

0

Se uso isso, eu preciso de um arquivo pelo menos para trazer apenas o diretorio

string diretorio = System.IO.Path.GetDirectoryName(@C:\Diretorio\meu_arquivo.extensão);

O que eu quero é apenas o diretorio, onde não existe nenhum arquivo, uma pasta nova. Como eu faço?
Pjava

Pjava

Responder

Posts

15/08/2012

Joel Rodrigues

Certo, como você quer identificar essa pasta? Onde ela está? É necessária alguma referência para localizá-la.
Responder

15/08/2012

Marcio

blz?

tente com isso..

DirectoryInfo dirUsuario = new DirectoryInfo(diretorio);

falow
Responder

15/08/2012

Pjava

Com diretório vazio eu não consigo então. Tenho sempre que dar um nome ou pegar um arquivo, mas e se for um Dir novo, como eu pego ele. Não tem como?
Responder

15/08/2012

Marcio

não precisa informar o arquivo, somente o diretorio mesmo
não sei se é o que estou entendendo...
Responder

15/08/2012

Joel Rodrigues

Rapaz, alguma referência ao diretório tem que haver. Como você quer pegar o nome do diretório ´´do nada´´?
Responder

15/08/2012

Pjava

Isso, tipo:

O meu cliente criou essas pastas, por exemplo:

C:\Cls\Documento\Itau

Essas pastas passaram a existir, mas sem nada lá. Agora, tenho um aplicativo que roda e gera uma planilha Excel e no final salva dentros da pasta Itau, por exemplo. Só que antes de salvar, eu tenho que passar essa pasta para uma variável, chamada caminho que ela guarda esse caminho + nome_planilha.xls e exporta. Então, eu preciso somente carregar o caminho. Hoje ele está fixo no código, mas isso é Go Horse e quero mudar isso, "parametrizar" esse caminho à escolha do Cliente. Aí ele salva onde quiser.
Responder

15/08/2012

Joel Rodrigues

Essa pasta pode ser qualquer uma? Em qualquer lugar? Não seria mais fácil pedir para o cliente informar o diretório?

Por que você está praticamente querendo que o framework lhe informe onde o cliente criou uma pasta qualquer(que pasta?), aí é complicado, não acha?

Não sei se lhe interessa, mas existem classes para gerenciar diretórios, as quais permitem você saber se foram criados arquivos, alterados, excluídos, etc. Procure por FileSystemWatcher.
Responder

16/08/2012

Pjava

Quando eu trabalhava com Delphi, eu não tinha esse problema. Abria um OpenDialog e o usuário aí buscaria a pasta de trabalho, bem simples. O C# tem o OpenFileDialog, que eu uso, mas depende de uma arquivo na pasta, pois ele busca é o arquivo e não somente a pasta. Poderia colocar um lixo na pasta, pegar a pasta por esse lixo e depois renomear o nome do lixo, para um de preferência do usuário. Mas se o usuário quiser trabalhar em outra pasta, ele teria que criar uma outrop lixo lá e trabalhar. Não é o que eu gostaria. É algo bem simples, em java também é possível, só não estou sabendo fazer em C#. Não creio que o C# não tenha esse recurso de eu escolher uma pasta para poder trabalhar, somente a pasta, sem o nome do arquivo. É somente um Dialog, que eu não sei qual.
Responder

16/08/2012

Pjava

Só para exemplificar melhor. Quando estamos instalando um programa, ele sugere uma pasta default ou então, aquele famoso botão Browser, onde você escolhe a pasta. É exatamente isso que eu quero. Só que com OpenFileDialog eu abro o arquivo e não pasta, tanto que se não houver arquivo nele, a opção de escolha fica desabilitada.
Responder

16/08/2012

Marcio

ah já sei o que está precisando...
é tipo o SelectDirectory do delphi..
você informa apenas o diretório na caixa de diálogo ao invés de precisar informar um arquivo
na caixa de diálogo...captei.. rss

como nunca precisei fazer isso em .net achei o link abaixo na net... pode ser o que você está precisando..

http://msdn.microsoft.com/pt-br/library/system.windows.forms.folderbrowserdialog.aspx


falow
Responder

16/08/2012

Pjava

Vi que esse componente faz exatamente o que eu quero. Mas está dando erro no if

FolderBrowserDialog
Responder

16/08/2012

Joel Rodrigues

Que erro, PJava?
Por favor, nunca diga apenas ´´está dando erro´´, especifique logo qual erro está ocorrendo.
Responder

16/08/2012

Pjava

Consegui o que eu queria.

using (FolderBrowserDialog fbd = new FolderBrowserDialog())
if (fbd.ShowDialog() == DialogResult.OK)
{
edtDestino.Text = fbd.SelectedPath;
}
Responder

16/08/2012

Pjava

Consegui o que eu queria.

using (FolderBrowserDialog fbd = new FolderBrowserDialog())
if (fbd.ShowDialog() == DialogResult.OK)
{
edtDestino.Text = fbd.SelectedPath;
}
Responder

16/08/2012

Joel Rodrigues

Show de bola.
Eu não tinha entendido que você queria usar uma caixa de diálogo, só depois que você explicou melhor foi que ficou claro.
Estou encerrando o tópico.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar