Pegar diretorio sem o nome do arquivo
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?
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
Curtidas 0
Respostas
Joel Rodrigues
15/08/2012
Certo, como você quer identificar essa pasta? Onde ela está? É necessária alguma referência para localizá-la.
GOSTEI 0
Marcio
15/08/2012
blz?
tente com isso..
DirectoryInfo dirUsuario = new DirectoryInfo(diretorio);
falow
tente com isso..
DirectoryInfo dirUsuario = new DirectoryInfo(diretorio);
falow
GOSTEI 0
Pjava
15/08/2012
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?
GOSTEI 0
Marcio
15/08/2012
não precisa informar o arquivo, somente o diretorio mesmo
não sei se é o que estou entendendo...
não sei se é o que estou entendendo...
GOSTEI 0
Joel Rodrigues
15/08/2012
Rapaz, alguma referência ao diretório tem que haver. Como você quer pegar o nome do diretório ´´do nada´´?
GOSTEI 0
Pjava
15/08/2012
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.
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.
GOSTEI 0
Joel Rodrigues
15/08/2012
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.
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.
GOSTEI 0
Pjava
15/08/2012
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.
GOSTEI 0
Pjava
15/08/2012
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.
GOSTEI 0
Marcio
15/08/2012
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
é 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
GOSTEI 0
Pjava
15/08/2012
Vi que esse componente faz exatamente o que eu quero. Mas está dando erro no if
FolderBrowserDialog
FolderBrowserDialog
GOSTEI 0
Joel Rodrigues
15/08/2012
Que erro, PJava?
Por favor, nunca diga apenas ´´está dando erro´´, especifique logo qual erro está ocorrendo.
Por favor, nunca diga apenas ´´está dando erro´´, especifique logo qual erro está ocorrendo.
GOSTEI 0
Pjava
15/08/2012
Consegui o que eu queria.
using (FolderBrowserDialog fbd = new FolderBrowserDialog())
if (fbd.ShowDialog() == DialogResult.OK)
{
edtDestino.Text = fbd.SelectedPath;
}
using (FolderBrowserDialog fbd = new FolderBrowserDialog())
if (fbd.ShowDialog() == DialogResult.OK)
{
edtDestino.Text = fbd.SelectedPath;
}
GOSTEI 0
Pjava
15/08/2012
Consegui o que eu queria.
using (FolderBrowserDialog fbd = new FolderBrowserDialog())
if (fbd.ShowDialog() == DialogResult.OK)
{
edtDestino.Text = fbd.SelectedPath;
}
using (FolderBrowserDialog fbd = new FolderBrowserDialog())
if (fbd.ShowDialog() == DialogResult.OK)
{
edtDestino.Text = fbd.SelectedPath;
}
GOSTEI 0
Joel Rodrigues
15/08/2012
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.
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.
GOSTEI 0
Joel Rodrigues
15/08/2012
PJava, deixo como sugestão a leitura deste artigo: https://www.devmedia.com.br/conhecendo-as-caixas-de-dialogo-padrao-do-net-framework/25074
GOSTEI 0