Fórum Excluir arquivo no DOS com WinExec e DeleteFile #348823
12/11/2007
0
Um helpzinho por favor!
Estou tentando excluir um arquivo pelo sistema mas nao to conseguindo o arquivo continua lah. Tentei dessas duas maneiras e nenhuma deu certo o arquivo continua lah.
´[b:956b05972c]g[/b:956b05972c]´ eh o nome do diretorio com o arquivo e sua extensao e ´[b:956b05972c]xArquivo[/b:956b05972c]´ eh somente o arquivo com sua exrensao.
WinExec(PCHAR(´cmd.exe /c del /q c:\pedidos\´+xArquivo),SW_SHOWNORMAL);
if DeleteFile(PChar(g)) then begin MessageBox(Handle,´Arquivo excluido com sucesso!!!´,´Atenção´,mb_ok + mb_iconexclamation); end else begin Err := GetLastError; MessageBox(Handle,´Erro ao tentar excluir o arquivo´,PChar(´Erro #´ + IntToStr(Err)),mb_ok + mb_iconerror); end;
O que estou fazendo de errado?
Claudio_f
Curtir tópico
+ 0Posts
12/11/2007
Futuro
[b:f20c0c763d]begin[/b:f20c0c763d]
...
Mas, antes, verifique se estas variáveis estão corretas, faça um:
ShowMessage(g);
Para ver se existe alguma barra dupla ou não existe nenhuma, algo como:
c:\DiretorioArquivo.exe
ou
c:\Diretorio\\Arquivo.exe
Nestes dois casos acima não apagará o arquivo. Use ShowMessage nas variáveis só para saber se o caminho está correto!
Bh.
Gostei + 0
12/11/2007
Claudio_f
E o arquivo esta correto e o caminho tambem, mas nao funciona, jah tentei colocar o arquivo em outra pasta criei o arquivo novamente e nada.
Gostei + 0
13/11/2007
Claudio_f
A quem possa interessar, descobri o que estava fazendo de errado:
como estava abrindo o arquivo para depois poder exclui-lo, simplesmente o arquivo continuava lah, entao antes de exclui-lo fechei o arquivo com
CloseFile(f);
e dai funcionou, o arquivo foi excluido das 3 formas:
WinExec(PCHAR(´cmd.exe /c del /q c:\pedidos\´+xArquivo),SW_SHOWNORMAL);
if DeleteFile(PChar(g)) then begin MessageBox(Handle,´Arquivo excluido com sucesso!!!´,´Atenção´,mb_ok + mb_iconexclamation); end else begin Err := GetLastError; MessageBox(Handle,´Erro ao tentar excluir o arquivo´,PChar(´Erro #´ + IntToStr(Err)),mb_ok + mb_iconerror); end;
if DeleteFile(ExpandFileName(g)) then begin MessageBox(Handle,´Arquivo excluido com sucesso!!!´,´Atenção´,mb_ok + mb_iconexclamation); end else begin Err := GetLastError; MessageBox(Handle,´Erro ao tentar excluir o arquivo´,PChar(´Erro #´ + IntToStr(Err)),mb_ok + mb_iconerror); end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)