Besoin d'aide ! , CMD + commande

TheDoka Messages postés 10 Date d'inscription mercredi 22 octobre 2014 Statut Membre Dernière intervention 28 octobre 2014 - 22 oct. 2014 à 18:03
 Rykudos - 28 oct. 2014 à 21:53
Bonjours ,
J'aimerais savoir si vous pourriez m'apporter votre aide sur un sujet plutot dur (selon les niveaux ^^). Voila je n'arrive pas a trouver une commande et je suis bloquer !
J'aimerais savoir si c'est possible de de lancer un 'cmd avec un commande VB (déjà fait) d'afficher son contenus dans une rictbox (fait aussi j'arrive au point)
Mais je n'arrive pas a faire qu'il envoie de commande avec une textbox !? Merci de votre aide !!! :)

Form :



Script :



Plus lisible ^^ :

Imports System.IO

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim truc As New System.Diagnostics.Process()
        Dim path_ As String = "C:\test\fichier.txt"
        truc.StartInfo.RedirectStandardOutput = True
        truc.StartInfo.UseShellExecute = False
        truc.StartInfo.CreateNoWindow = True
        truc.StartInfo.FileName = ("C:\Windows\System32\CMD.EXE")
        truc.Start()
        Me.RichTextBox1.Text = truc.StandardOutput.ReadToEnd



    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Try
            Dim dlg As SaveFileDialog = New SaveFileDialog
            dlg.Title = "Enregistrer le Texte"
            dlg.Filter = "Fichier Texte (*.txt)|*.txt"
            If dlg.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
                RichTextBox1.SaveFile(dlg.FileName, RichTextBoxStreamType.PlainText)
            End If
        Catch ex As Exception : End Try

    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

    End Sub
End Class

5 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
Modifié par jordane45 le 22/10/2014 à 18:23
Bonjour,
1 - Attention... tu as posté ta question dans la section VBscript du forum.. hors, vu tes captures d'écran.. tu es en VB.NET (j'ai déplacé ta question au bon endroit).

2 - Ici, pour montrer son code.. on évite les captures d'écrans... on POSTE directement le code (celui qui pose problème) en utilisant la coloration syntaxique :
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


EDIT : Je n'avais pas vu le " Plus lisible ^^ : "



Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
22 oct. 2014 à 20:43
Bonsoir,

Que se passe-t-il ?
Tu ne nous dis pas ce que tu constates.

La ligne :
Me.RichTextBox1.Text = truc.StandardOutput.ReadToEnd
M'indiquerais que ton interface se fige, mais il faut ajouter des précisions pour que l'on puisse t'aider.
0
TheDoka Messages postés 10 Date d'inscription mercredi 22 octobre 2014 Statut Membre Dernière intervention 28 octobre 2014
Modifié par TheDoka le 23/10/2014 à 17:01
Non je voudrais simplement que mon programme exécute un batch en arrière plan et que je puisse interagir avec l'interface vb net :)

Si j'ai mis une richtbox , c'est vraiment tout bête c'est parce que je la trouve mieux pour afficher plus gros et avec je peut enregistrer en autre format ...

J'aimerais trouver un scripts qui dise au boutons envoyer -->d'envoyer la commande directement dans le batch en arrière plan (par conséquent afficher dans la richtbox :)

Donc :

RictBox = Batch
Boutton = Batch (envoie de commande)
En gros j'aimerais qu'il servent d'interface secondaire a mon bat.
Voila je crois avoir tout dis :)
0
TheDoka Messages postés 10 Date d'inscription mercredi 22 octobre 2014 Statut Membre Dernière intervention 28 octobre 2014
23 oct. 2014 à 17:00
Quelque image du fonctionnement :
Désoler pour la qualité de mon dessin :DD
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
25 oct. 2014 à 21:22
Au pire, tu mets la ligne dans un fichier BAT et tu lances ce fichier.
0
TheDoka Messages postés 10 Date d'inscription mercredi 22 octobre 2014 Statut Membre Dernière intervention 28 octobre 2014
28 oct. 2014 à 14:03
Non je veut interagir avec ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
salut, je fait comme ça pour afficher le résultat d'un batch si sa peut t'aider.

1 timer
1 textbox
1 bouton



Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Timer1.Start()

Try
My.Computer.FileSystem.DeleteFile("result_cmd.txt")
Catch ex As Exception

End Try


Try
My.Computer.FileSystem.DeleteFile("commande.bat")
Catch ex As Exception

End Try


Try
Dim sw As StreamWriter
sw = File.CreateText("commande.bat")
sw.WriteLine("@echo off")
sw.Flush()
sw.Close()

Dim kl = My.Computer.FileSystem.GetFileInfo("commande.bat")
Dim pp = kl.DirectoryName

sw = File.AppendText("commande.bat")
sw.WriteLine("dir c:\temp > " + pp + "\result_cmd.txt")
sw.Flush()
sw.Close()
Catch ex As Exception

End Try


Try
Dim startInfo As New ProcessStartInfo("commande.bat")
startInfo.WindowStyle = ProcessWindowStyle.Minimized

Process.Start(startInfo)
Catch ex As Exception

End Try


End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

If File.Exists("result_cmd.txt") = True Then
Try

Dim SR As New StreamReader("result_cmd.txt")
TextBox1.Clear()
TextBox1.Text = SR.ReadToEnd
SR.Close()

My.Computer.FileSystem.DeleteFile("commande.bat")
My.Computer.FileSystem.DeleteFile("result_cmd.txt")

Timer1.Stop()

Catch ex As Exception

End Try

End If

End Sub

0
TheDoka Messages postés 10 Date d'inscription mercredi 22 octobre 2014 Statut Membre Dernière intervention 28 octobre 2014
28 oct. 2014 à 14:03
Merci je vais essayer !
0
TheDoka Messages postés 10 Date d'inscription mercredi 22 octobre 2014 Statut Membre Dernière intervention 28 octobre 2014
28 oct. 2014 à 14:08
Désoler sa ne fonctionne pas :o ?
0
a tu modifier la ligne 32 ?
 sw.WriteLine("dir c:\temp > " + pp + "\result_cmd.txt")

la c un simple dir de c:/temp, si tu n'a pas de dossier temp a la racine du disque C sa ne fonctionnera pas^^ , remplace le "temp" par "test" ; )
sinon le code fonctionne.
0
Rejoignez-nous