none
CMD no Windows Forms RRS feed

  • Pergunta

  • Boa tarde,

    Alguém sabe como faço pro meu programa chamar um prompt comando e compilar um código que eu mandar e retornar para mim o sucesso ou falha?

    Grato desde já

    domingo, 25 de setembro de 2016 17:21

Respostas

  • Olá Marcelo,

    Você pode realizar a chamada do CMD dessa forma:

    System.Diagnostics.Process.Start("CMD.exe", "/C ping 8.8.8.8");

    Perceba que o segundo parâmetro é o comando que ele deve executar precedido de "/C".

    Pelo motivo de abrir um outro processo separado do processo do seu software, os dois não tem uma ligação. Para você ter um retorno desse prompt para o seu software, terás que usar algo intermediário como por exemplo um arquivo texto ou banco de dados.

    Então para conseguir capturar o retorno, o seu comando no prompt teria que salvar um arquivo texto ou gravar em um banco de dados para que o seu software realizasse a leitura e soubesse a informação que foi retornada.

    Espero ter ajudado.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    • Sugerido como Resposta Código Expresso segunda-feira, 26 de setembro de 2016 17:30
    • Marcado como Resposta MarceloAugustoF segunda-feira, 26 de setembro de 2016 20:38
    segunda-feira, 26 de setembro de 2016 11:34

Todas as Respostas

  • Olá Marcelo,

    Você pode realizar a chamada do CMD dessa forma:

    System.Diagnostics.Process.Start("CMD.exe", "/C ping 8.8.8.8");

    Perceba que o segundo parâmetro é o comando que ele deve executar precedido de "/C".

    Pelo motivo de abrir um outro processo separado do processo do seu software, os dois não tem uma ligação. Para você ter um retorno desse prompt para o seu software, terás que usar algo intermediário como por exemplo um arquivo texto ou banco de dados.

    Então para conseguir capturar o retorno, o seu comando no prompt teria que salvar um arquivo texto ou gravar em um banco de dados para que o seu software realizasse a leitura e soubesse a informação que foi retornada.

    Espero ter ajudado.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    • Sugerido como Resposta Código Expresso segunda-feira, 26 de setembro de 2016 17:30
    • Marcado como Resposta MarceloAugustoF segunda-feira, 26 de setembro de 2016 20:38
    segunda-feira, 26 de setembro de 2016 11:34
  • Obrigado André

    segunda-feira, 26 de setembro de 2016 20:38
  • Qual namespace devo usar nessa função?
    terça-feira, 27 de setembro de 2016 11:01
  • Marcelo,

    Se quiser usar um namespace ao invés de escrever toda essa linha de código, adicione no início da página:

    using System.Diagnostics;

    Aí no código, você pode usar apenas:

    Process.Start("CMD.exe", "/C ping 8.8.8.8");

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    terça-feira, 27 de setembro de 2016 11:05