mateushim 0 Denunciar post Postado Junho 14, 2008 daew galera to tentando executar um comando para ser executardo no prompt cmd consigo varios comandos fazer a execução, so que o que eu quero nao consigo que é esse C:\Arquivos de programas\MySQL\MySQL Server 5.0\bin\mysqldump --xml --host=localhost --user=root --password=root mateus > c:\ccc.xml simplesmente ele cria o xml, mais dentro do arquivo nao tem nd e se eu for digitar no cmd ele cria, ou atraves de um bat mais o que eu quero nao pode ter bat, pq vai ter q ser dinamico axo que eh isso, espero que csg entender minha pergunta flw Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Junho 18, 2008 O que pode fazer é a criação do arquivo .bat em tempo de execução e depois a exclusão novamente do arquivo .bat, existe como criar o .bat executar e esperar a sua finalização e depois então excluir ele, se não me engano já foi falado sobre isto aqui no fórum, de esperar a execução de um .bat Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Junho 18, 2008 Voltando um pouco a ativa aqui no fórum... Conforme o amigo Márcio disse acima... esse assunto ja foi discutido... mas relembrando: Função que Executa um comando e aguarda que ele seja finalizado... function TFrmCadastro.WinExecAndWait32(FileName: String; WorkDir: String; Visibility: integer): integer; var zAppName: array[0..512] of char; zCurDir: array[0..255] of char; StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin StrPCopy(zAppName,FileName); StrPCopy(zCurDir,WorkDir); FillChar(StartupInfo,Sizeof(StartupInfo),#0); StartupInfo.cb:=Sizeof(StartupInfo); StartupInfo.dwFlags:=STARTF_USESHOWWINDOW; StartupInfo.wShowWindow:=Visibility; if not CreateProcess(nil,zAppName,nil,nil,False,CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,nil,zCurDir,StartupInfo,ProcessInfo) then Result:=-1 else begin WaitforSingleObject(ProcessInfo.hProcess,INFINITE); GetExitCodeProcess(ProcessInfo.hProcess,DWORD(Result)); end; end; Função que executa um comando no CMD... e depois deleta o arquivo após executá-lo function TFrmCadastro.AddDeleteServico(comando: string): boolean; var txt: TextFile; dir: string; ret: boolean; begin ret:=False; try dir:=ExtractFilePath(Application.ExeName); AssignFile(txt, dir + 'User.bat'); Rewrite(txt); Write(txt,comando); CloseFile(txt); if WinExecAndWait32(dir + 'User.bat',dir,SW_ShowNormal) = 0 then ret:=True; DeleteFile(dir + 'User.bat'); finally AddDeleteServico:=ret; end; end; Para usar basta que você faça por exemplo: procedure ExecComando; var comando : string; begin comando := 'C:\Arquivos de programas\MySQL\MySQL Server 5.0\bin\mysqldump --xml --host=localhost --user=root --password=root mateus > c:\ccc.xml'; AddDeleteServico(Comando); end; Abraço... e até a próxima volta ao fórum!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Junho 18, 2008 Pode ficar Hugo, seja bem vindo novamente :D Compartilhar este post Link para o post Compartilhar em outros sites