Excluir arquivo no DOS com WinExec e DeleteFile
Bom dia!
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.
O que estou fazendo de errado?
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
Curtidas 0
Respostas
Futuro
12/11/2007
[b:f20c0c763d]if [/b:f20c0c763d]DeleteFile(ExpandFileName(g)) [b:f20c0c763d]then [/b:f20c0c763d]
[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.
[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
Claudio_f
12/11/2007
Ola, jah tinha colocado um
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.
showmessage(g);
e ShowMessage(xArquivo);
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.
usei TrimRight(xArquivo)
para tirar spacos em branco casa tivesse algum, tambem nao funcionouGOSTEI 0
Claudio_f
12/11/2007
Boa tarde pessol!
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
e dai funcionou, o arquivo foi excluido das 3 formas:
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