none
.StandardOutput.ReadToEnd en lineas separadas. RRS feed

  • Pregunta

  • Hola.

    Haber si pueden echarme una mano.

    Como puedo, con el siguiente codigo, conseguir que el texto de salida se escriba linea a linea y no todo en una sola?

            Dim compiler As New Process()
            compiler.StartInfo.FileName = "ping.exe "
            compiler.StartInfo.Arguments = "www.google.com"
            compiler.StartInfo.UseShellExecute = False
            compiler.StartInfo.RedirectStandardOutput = True
            compiler.Start()
    
            RichTextBox1.Text &= (compiler.StandardOutput.ReadToEnd())
            compiler.WaitForExit()
    

    Gracias.

    viernes, 30 de diciembre de 2011 15:52

Respuestas

  • No. Nunca he usado ese programa.

    Obviamente

    compiler.StartInfo.FileName = "ping.exe"
    compiler.StartInfo.Arguments = "-t www.google.com"

    te ejecuta con la opción t...

    compiler.StartInfo.FileName = "ping.exe"
    compiler.StartInfo.Arguments = "-n 2 www.google.com"

    hace dos envíos.

    Pero no podría indicarte mucho más. Por ejemplo, supongo que n y t son excluyentes. No sé donde está la doc de este programa.

    • Marcado como respuesta Raf-Man viernes, 30 de diciembre de 2011 19:29
    viernes, 30 de diciembre de 2011 19:15
  • compiler.StartInfo.Arguments = txt_opciones.Text & " " & txt_dominio

     

    • Marcado como respuesta Raf-Man viernes, 30 de diciembre de 2011 20:06
    viernes, 30 de diciembre de 2011 19:38

Todas las respuestas

  • Aprovechando el hilo, preguntar tambien, como poner mas argumentos:

    C:\Windows\system32>ping /?
    
    Uso: ping [-t] [-a] [-n cuenta] [-l tamaño] [-f] [-i TTL] [-v TOS]
                [-r cuenta] [-s cuenta] [[-j lista-host] | [-k lista-host]]
                [-w tiempo_espera] [-R] [-S srcaddr] [-4] [-6] nombre_destino
    
    Opciones:
     -t                  Hacer ping al host especificado hasta que se detenga.
                         Para ver estadísticas y continuar, presione Ctrl-Inter;
                         para detener, presione Ctrl-C.
     -a                  Resolver direcciones en nombres de host.
     -n cuenta           Número de solicitudes de eco para enviar.
     -l tamaño           Enviar tamaño del búfer.
     -f                  Establecer marcador No fragmentar en paquetes (sólo IPv4).
     -i TTL              Tiempo de vida.
     -v TOS              Tipo de servicio (sólo IPv4)
     -r cuenta           Registrar la ruta de saltos de cuenta (sólo IPv4).
     -s cuenta           Marca de tiempo de saltos de cuenta (sólo IPv4).
     -j lista-host       Ruta de origen no estricta para lista-host (sólo IPv4).
     -k lista-host       Ruta de origen estricta para lista-host (sólo IPv4).
     -w tiempo_espera    Tiempo de espera en milisegundos para cada respuesta.
     -R                  Usar encabezado de enrutamiento para probar también
                         la ruta inversa (sólo IPv6).
    -S srcaddr           Dirección de origen que se desea usar.
    -4                   Forzar el uso de IPv4.
    -6                   Forzar el uso de IPv6.
    
    
    C:\Windows\system32>

    Gracias de nuevo. 

    viernes, 30 de diciembre de 2011 16:10
  • Do Until (compiler.StandardOutput.EndOfStream)
    	RichTextBox1.AppendText(compiler.StandardOutput.ReadLine())
    	RichTextBox1.AppendText(Environment.NewLine)
    	Application.DoEvents()
    Loop
    
    
    

    En el espacio de nombres System.Net.NetworkInformation tienes un Ping asincrónico.
    viernes, 30 de diciembre de 2011 16:51
  • Gracias Walter Miguel.

    Me puedes ayudar para poner opciones al Ping?

    viernes, 30 de diciembre de 2011 17:09
  • No. Nunca he usado ese programa.

    Obviamente

    compiler.StartInfo.FileName = "ping.exe"
    compiler.StartInfo.Arguments = "-t www.google.com"

    te ejecuta con la opción t...

    compiler.StartInfo.FileName = "ping.exe"
    compiler.StartInfo.Arguments = "-n 2 www.google.com"

    hace dos envíos.

    Pero no podría indicarte mucho más. Por ejemplo, supongo que n y t son excluyentes. No sé donde está la doc de este programa.

    • Marcado como respuesta Raf-Man viernes, 30 de diciembre de 2011 19:29
    viernes, 30 de diciembre de 2011 19:15
  • En fin. Me falta que la direccion Ip se pille desde un textBox1. Pero doy como valida la respuesta de Walter Miguel.

    viernes, 30 de diciembre de 2011 19:29
  • compiler.StartInfo.Arguments = txt_opciones.Text & " " & txt_dominio

     

    • Marcado como respuesta Raf-Man viernes, 30 de diciembre de 2011 20:06
    viernes, 30 de diciembre de 2011 19:38
  • Gracias.
    viernes, 30 de diciembre de 2011 20:06