Fórum Executar arquivo bat que está dentro de uma pasta. #590401
09/01/2018
0
Estou usando o seguinte comando para executar a bat.
ShellExecute(Application.Handle, 'open', 'cmd.exe',
PChar('/c ' + ObterDiretorioDoExecutavel +
'scripts\\atualizacao_bd_4.bat'), nil, SW_SHOWNORMAL);Ao executar o comando, ele não encontra o arquivo bat que está dentro da pasta script.
Ao executar o comando sem o "/C" percebi que ele pega somente o caminho atual da aplicação delphi.
Por exemplo: Minha aplicação Delphi está em :
E é exatamente isso que o prompt mostra ao executar o comando sem o "/C".
Não está acessando o caminho que eu indiquei no comando. O que poderia ser ?
Obrigado
Cayque
Curtir tópico
+ 0Post mais votado
10/01/2018
Fiz um exemplo: Testado e Funcionando.
Var Nome_Bat:string;
Var Janela_Execution:integer;
begin
Nome_Bat:='MYCOMANDO.BAT';
Janela_Execution:=1; // 0 Executará a BAT em modo Oculto
// 1 Executará a BAT em modo Vizual
Bat:=ExtractFilePath(Application.ExeName)+Nome_Bat;
if FileExists(bat) then
ShellExecute(0, nil, 'cmd.exe', PWideChar('/c ' + '"'+bat+'"'), nil, Janela_Execution);
Comando dentro da BAT: date /t>>"C:\\Aplic\\Hora.txt"
Ao executar o código ele deverá gerar um TXT com a hora atual.
Sucesso!
Raimundo Pereira
Gostei + 1
Mais Posts
10/01/2018
Raimundo Pereira
Caso não coloque '"' antes e no final e o caminho possuir espaços ele vai lhe mostrar
C:\\\\Users\\\\Cacau\\\\Documents\\\\Embarcadero\\\\Studio\\\\Projects\\\\atualizacaoTED\\\\Win32\\\\Debug
Ao invés de executar sua bat
Gostei + 0
10/01/2018
Cayque
Fiz um exemplo: Testado e Funcionando.
Var Nome_Bat:string;
Var Janela_Execution:integer;
begin
Nome_Bat:='MYCOMANDO.BAT';
Janela_Execution:=1; // 0 Executará a BAT em modo Oculto
// 1 Executará a BAT em modo Vizual
Bat:=ExtractFilePath(Application.ExeName)+Nome_Bat;
if FileExists(bat) then
ShellExecute(0, nil, 'cmd.exe', PWideChar('/c ' + '"'+bat+'"'), nil, Janela_Execution);
Comando dentro da BAT: date /t>>"C:\\\\Aplic\\\\Hora.txt"
Ao executar o código ele deverá gerar um TXT com a hora atual.
Sucesso!
P2, se você colocar seu script dentro de uma pasta e tentar acessar, ele executa normalmente?
Gostei + 0
10/01/2018
Cayque
Valeu !!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)