Bonjour,
J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Bonjour,
J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Bonjour,
J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Imports System.Diagnostics
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Imports System.Diagnostics
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Imports System.Diagnostics
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Dans : news:,
Nicolas B. disait :Bonjour,
Bonjour,J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Imports System.Diagnostics
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Dans : news:O0vt0s1MIHA.1188@TK2MSFTNGP04.phx.gbl,
Nicolas B. disait :
Bonjour,
Bonjour,
J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Imports System.Diagnostics
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Dans : news:,
Nicolas B. disait :Bonjour,
Bonjour,J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Imports System.Diagnostics
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un
peu plus compliqué : l'application que je lance en ligne de commande me
pose des questions (du type "Voulez-vous écraser les fichiers ?") et je
dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à
récupérer dans mon programme les questions que me pose l'application
lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Merci,
Nicolas
Fred a écrit :Dans : news:,
Nicolas B. disait :Bonjour,
Bonjour,J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Imports System.Diagnostics
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un
peu plus compliqué : l'application que je lance en ligne de commande me
pose des questions (du type "Voulez-vous écraser les fichiers ?") et je
dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à
récupérer dans mon programme les questions que me pose l'application
lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Merci,
Nicolas
Fred a écrit :
Dans : news:O0vt0s1MIHA.1188@TK2MSFTNGP04.phx.gbl,
Nicolas B. disait :
Bonjour,
Bonjour,
J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Imports System.Diagnostics
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est un
peu plus compliqué : l'application que je lance en ligne de commande me
pose des questions (du type "Voulez-vous écraser les fichiers ?") et je
dois y répondre ("> oui"). Il faudrait que j'arrive à la fois à
récupérer dans mon programme les questions que me pose l'application
lancée et répondre à ces questions, là aussi à partir de mon programme.
Est-ce faisable ?
Merci,
Nicolas
Fred a écrit :Dans : news:,
Nicolas B. disait :Bonjour,
Bonjour,J'essaie de faire un programme qui utilise une application
fonctionnant en ligne de commande, mais je ne sais pas comment faire
pour :
- lancer l'application avec des arguments,
- récupérer, quand je la lance dans mon programme, les messages
qu'elle répondrait si elle était lancée dans une invite de commande.
Un petit exemple qui affiche le résultat d'une commande DIR dans un label.
Imports System.Diagnostics
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Test
Dim psi As New ProcessStartInfo()
psi.Arguments = "/C DIR *.*"
psi.FileName = "CMD.EXE"
psi.RedirectStandardOutput = True
psi.StandardOutputEncoding = _
Encoding.GetEncoding("ibm850")
psi.UseShellExecute = False
Dim p As Process = Process.Start(psi)
Using o As StreamReader = p.StandardOutput
While Not o.EndOfStream
Me.Label1.Text &= o.ReadLine & vbCrLf
End While
End Using
End Sub
End Class
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est
un peu plus compliqué : l'application que je lance en ligne de
commande me pose des questions (du type "Voulez-vous écraser les
fichiers ?") et je dois y répondre ("> oui"). Il faudrait que
j'arrive à la fois à récupérer dans mon programme les questions que
me pose l'application lancée et répondre à ces questions, là aussi à
partir de mon programme.
Est-ce faisable ?
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est
un peu plus compliqué : l'application que je lance en ligne de
commande me pose des questions (du type "Voulez-vous écraser les
fichiers ?") et je dois y répondre ("> oui"). Il faudrait que
j'arrive à la fois à récupérer dans mon programme les questions que
me pose l'application lancée et répondre à ces questions, là aussi à
partir de mon programme.
Est-ce faisable ?
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est
un peu plus compliqué : l'application que je lance en ligne de
commande me pose des questions (du type "Voulez-vous écraser les
fichiers ?") et je dois y répondre ("> oui"). Il faudrait que
j'arrive à la fois à récupérer dans mon programme les questions que
me pose l'application lancée et répondre à ces questions, là aussi à
partir de mon programme.
Est-ce faisable ?
Dans : news:%,
Nicolas B. disait :Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est
un peu plus compliqué : l'application que je lance en ligne de
commande me pose des questions (du type "Voulez-vous écraser les
fichiers ?") et je dois y répondre ("> oui"). Il faudrait que
j'arrive à la fois à récupérer dans mon programme les questions que
me pose l'application lancée et répondre à ces questions, là aussi à
partir de mon programme.
Est-ce faisable ?
Oui sans doute, mais je n'ai pas testé.
Il existe également RedirectStandardInput et le StreamWriter StandardInput.
Il faudra donc tester chaque ligne lue sur le OutputStream pour
éventuellement écrire une réponse sur le InputStream.
Attention, il faut gérer la lecture caractère par caractère car
lorsque'une question est posée, elle peut l'être avant le retour à la
ligne.
Dans : news:%23ROLFMFNIHA.4688@TK2MSFTNGP06.phx.gbl,
Nicolas B. disait :
Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est
un peu plus compliqué : l'application que je lance en ligne de
commande me pose des questions (du type "Voulez-vous écraser les
fichiers ?") et je dois y répondre ("> oui"). Il faudrait que
j'arrive à la fois à récupérer dans mon programme les questions que
me pose l'application lancée et répondre à ces questions, là aussi à
partir de mon programme.
Est-ce faisable ?
Oui sans doute, mais je n'ai pas testé.
Il existe également RedirectStandardInput et le StreamWriter StandardInput.
Il faudra donc tester chaque ligne lue sur le OutputStream pour
éventuellement écrire une réponse sur le InputStream.
Attention, il faut gérer la lecture caractère par caractère car
lorsque'une question est posée, elle peut l'être avant le retour à la
ligne.
Dans : news:%,
Nicolas B. disait :Re bonjour,
Le code précédent fonctionne bien. Mais finalement, mon problème est
un peu plus compliqué : l'application que je lance en ligne de
commande me pose des questions (du type "Voulez-vous écraser les
fichiers ?") et je dois y répondre ("> oui"). Il faudrait que
j'arrive à la fois à récupérer dans mon programme les questions que
me pose l'application lancée et répondre à ces questions, là aussi à
partir de mon programme.
Est-ce faisable ?
Oui sans doute, mais je n'ai pas testé.
Il existe également RedirectStandardInput et le StreamWriter StandardInput.
Il faudra donc tester chaque ligne lue sur le OutputStream pour
éventuellement écrire une réponse sur le InputStream.
Attention, il faut gérer la lecture caractère par caractère car
lorsque'une question est posée, elle peut l'être avant le retour à la
ligne.