Executando arquivo tipo .bat no delphi XE2
10/01/2013
0
Tenho uma procedure que executar um arquivo . bat e o mesmo me grava um arquivo de log que leio o conteúdo logo em seguida, só que ocorre que me gera uma mensagem de erro informando que o arquivo esta em uso, já tentei algumas formas de contorno o problema sem sucesso,
Agradeço se alguém puder ajudar.
procedure TfrmPrincipal.ExecutaBat;
var
arquivo :string;
begin
If (FileExists('C:\geramd5_' + nomearquivo + '.bat')=True) Then
Begin
arquivo := 'C:\geramd5_' + nomearquivo + '.bat' ;
ShellExecute(handle,'open',PChar(arquivo), '','',SW_SHOWNORMAL);
end;
end;
Agradeço se alguém puder ajudar.
procedure TfrmPrincipal.ExecutaBat;
var
arquivo :string;
begin
If (FileExists('C:\geramd5_' + nomearquivo + '.bat')=True) Then
Begin
arquivo := 'C:\geramd5_' + nomearquivo + '.bat' ;
ShellExecute(handle,'open',PChar(arquivo), '','',SW_SHOWNORMAL);
end;
end;
Itamar Souza
Curtir tópico
+ 0
Responder
Posts
10/01/2013
Walter Desidera
No seu código você testa se o arquivo existe, e depois usa a function ShellExecute para abrir o mesmo certo?. Antes disso você abre ele para grava alguma informação? Se for o caso você pode ter esquecido de fechar o arquivo depois da edição e ele acusa como aberto pelo delphi.
Responder
10/01/2013
André Celestino
Também concordo com o Walter.
Pra acessar o arquivo novamente, você precisa garantir que ele esteja fechado.
Ou então é alguma ferramenta dentro do BAT que você está chamando e ela não está sendo finalizada corretamente.
Pra acessar o arquivo novamente, você precisa garantir que ele esteja fechado.
Ou então é alguma ferramenta dentro do BAT que você está chamando e ela não está sendo finalizada corretamente.
Responder
Clique aqui para fazer login e interagir na Comunidade :)