Comando Bat sem janela

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Comando Bat sem janela

Mensagem por rosalvo rosa »

Amigos, boa noite.


Estou usando em meu sistema um linha de comando onde uso um arquivo .Bat
RUN COMANDO.BAT

Compilei com -gtwvt, usando a VLib.prg que baixei aqui do forum.

Acontece que eu gostaria de eliminar a janela do cmd.exe que aparece.

Alguém poderia me ajudar ?

Obrigado.

Rosalvo
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2822
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP
Curtiu: 2 vezes

Comando Bat sem janela

Mensagem por Jairo Maia »

Olá Rosalvo,

Você vai precisar usar o comando Start /b para que a janela não fique esperando o comando terminar. Poste o conteúdo do arquivo .bat que fica mais fácil explicar.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Comando Bat sem janela

Mensagem por JoséQuintas »

Pelo que entendi, quer eliminar a janela do prompt.
BAT é executado em janela de prompt.
Já tentou substituir a necessidade desse comando.bat por outra coisa?
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2822
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP
Curtiu: 2 vezes

Comando Bat sem janela

Mensagem por Jairo Maia »

JoséQuintas escreveu:Pelo que entendi, quer eliminar a janela do prompt.
BAT é executado em janela de prompt.
Sim. Porisso precisa usar o comando Start. Mas dependendo de como estiver o .bat dele isso não será possível, pois os comandos serão executados em sequência sem a janela do prompt.
JoséQuintas escreveu:Já tentou substituir a necessidade desse comando.bat por outra coisa?
Essa foi a idéia de solicitar o conteúdo do arquivo. Tentar sugerir uma alternativa. Também acho melhor substituir o .bat.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Comando Bat sem janela

Mensagem por JoséQuintas »

Descuido meu, não enxerguei o "poste o conteúdo do bat".
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8029
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Comando Bat sem janela

Mensagem por Itamar M. Lins Jr. »

Ola!
Veja se isto ajuda.

Código: Selecionar todos

In case someone here is looking for the solution to just simply execute/open any external file, the following code works under windows (7 or xp) and Hb3.0 to open an excel file:

cFilename:="tst.xls"
hb_run(cFilename) // opens the file but cmd black box is invoked initially.....

Here no cmd black box appears, only file gets opened:
wapi_ShellExecute( 0, 'open', cFilename, , 0, 0 )

Código: Selecionar todos

      hb_processRun( <cCommand>, [ <cStdIn> ], [ @<cStdOut> ], ;
                     [ @<cStdErr> ], [ <lDetach> ] ) -> <nResult>
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8029
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Comando Bat sem janela

Mensagem por Itamar M. Lins Jr. »

Mais informações, favor olhar este link, pois o forum não deixa postar algumas coisas, por questões de segurança.
https://groups.google.com/forum/#!topic ... nMYByVh3ZI

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Comando Bat sem janela

Mensagem por rosalvo rosa »

Amigos, boa noite.

Obrigado pessoal.

A dica do Itamar funcionou. :

wapi_ShellExecute( 0, 'open', "comando.bat" , 0, 0 )


Boa mesmo.

Agora o comando BAT executa e nenhuma intrometida janela aparece.

Abraços

Rosalvo
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2822
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP
Curtiu: 2 vezes

Comando Bat sem janela

Mensagem por Jairo Maia »

Itamar M. Lins Jr. escreveu:Here no cmd black box appears, only file gets opened:
wapi_ShellExecute( 0, 'open', cFilename, , 0, 0 )
Muito legal essa. Legal mesmo. Valeu.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
dbdc5554
Usuário Nível 3
Usuário Nível 3
Mensagens: 149
Registrado em: 03 Dez 2012 08:49
Localização: uberlandia-MG

Comando Bat sem janela

Mensagem por dbdc5554 »

Opa aproveitando o gancho....

estes parametros....

sera que eles ou alguma outra forma permite mandar executar um exe e FICAR aguardando ele ser finalizado ?


Já postei a um tempo atrás e na realidade Não achei uma solução que funcionasse.

PAiva
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8029
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Comando Bat sem janela

Mensagem por Itamar M. Lins Jr. »

Ola!
FICAR aguardando ele ser finalizado ?
Veja o doc, pois tem parâmetro para isso.

hb_processrun veja o parâmetro lDetach.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8029
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Comando Bat sem janela

Mensagem por Itamar M. Lins Jr. »

Ola!
Inclusive o hb_processrun pega o retorno da tela em uma variável, e você pode manipular depois.
Por exemplo:

Código: Selecionar todos

hb_processRun("dir "+cPath+"/dados",,@cArquivos)
If mlcount(cArquivos) > 0
...
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder