Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Doug Canto

Excluindo um diretório

Recommended Posts

Caros,

 

 

Estou tentando excluir uma pasta de um determinado diretório através de um programa em c++, porém ao excluir ocorre erro que a pasta esta em uso. Acredito que isto seja devido a operação anterior que faço onde copio esta pasta para um outro diretório e com isso a mesma deve ficar presa e não deixa eu excluir. Enfim existe algum comando no qual eu possa liberar a pasta paera em seguida eu excluir.

 

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como está seu código?

será q se você der um delay resolve?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

No meu código primeiro eu movo a pasta de seu diretório de oriegem para um outro diretório e depois excluo a mesma do diretório de origem. Sendo que não estou conseguindo efetuar esta exclusão, pois acredito que a pasta fique presa por algum motivo. Tanto que seu tentar exclui-la manualmente ocorre a mensagem de que o arquivo está em uso. Só consigo excluir depois de parar a execução do programa.

Com isso imagino que tenho que no programa efetuar algum procedimento para liberar a pasta, para que assim eu consiga excluir a mesma. Porém não consegui encontrar nenhum comando que faça tal procedimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha fiz um código bem "feinho" kkk, soh pra ver, e funfo aki, veja ai:

 

#include <iostream>

int main(){

    char caminho[]      = "C:\\";
    char pastaOrigem[]  = "teste";
    char pastaDestino[] = "outrapasta";
    char comando[255];

    memset(comando,'\0', 255);
    strcat(comando, "mkdir ");
    strcat(comando, caminho);
    strcat(comando, pastaDestino);
    strcat(comando, "\\");
    strcat(comando, pastaOrigem);
    system(comando);

    memset(comando,'\0', 255);
    strcat(comando, "xcopy ");
    strcat(comando, caminho);
    strcat(comando, pastaOrigem);
    strcat(comando, " ");
    strcat(comando, caminho);
    strcat(comando, pastaDestino);
    strcat(comando, "\\");
    strcat(comando, pastaOrigem);
    strcat(comando, " /E");
    system(comando);

    memset(comando,'\0', 255);
    strcat(comando, "rd ");
    strcat(comando, caminho);
    strcat(comando, pastaOrigem);
    strcat(comando, " /S /Q");
    system(comando);

    return 0;
}

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que ocorre é o seguinte, tenho um seguinte diretório c:\arquivoOrigem, dentro deste diretório possuo n arquivos. O meu programa faz um bkp destes arquivos para um outro diretório por exemplo move para d:\arquivo destino. Após mover os arquivos eu excluo os mesmos (isso é feito corretamente). Porém quando tendo excluir a pasta no caso ArquivoOrigem não consigo, pois diz que amesma está sendo usada. Tenho que descobrir um método de liberar o uso desta pasta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

+ entaum velho, eu testei isso pelo meu código e ele excluiu normal.. os caminhos foram apenas exemplos para n pedir entrada de usuario.

msm como o meu da q o arquivo n pode ser excluido?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.