Ecrire dans un batch avec VB.NET [Fermé]

Signaler
Messages postés
17
Date d'inscription
dimanche 12 octobre 2014
Statut
Membre
Dernière intervention
7 juin 2016
-
Messages postés
16040
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 juin 2021
-
Bonjour,

Je cherche à créer un programme en visual basic qui écrit un fichier batch (en .bat). Voici ce dont j'aurai besoin de faire :

On rentre QSDFGN dans le premier champ de texte (par exemple) puis QZERTYU dans le deuxième champ de texte.
Ensuite on clique sur le bouton créer.

Ce programme en .bat se crée donc (j'aimerai qu'il arrive dans C:\Users\NOM D'UTILISATEUR\Downloads, mais si ça n'est pas possible ça n'est pas bien grave) :

@echo off
echo QSDFGN QZERTYU

2 réponses

Messages postés
17
Date d'inscription
dimanche 12 octobre 2014
Statut
Membre
Dernière intervention
7 juin 2016
4
J'ai réussi pour récupérer les données du champ de texte, et à créer un fichier en .bat grâce à plusieurs sites, sauf que je n'arrive pas à écrire dedans :

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

            'Création d'un flux d'écriture
            Dim sw As New StreamWriter("C:\Users\black\Downloads\resultat.bat")

            'écriture        
            sw.WriteLine("@echo off")
            sw.WriteLine("echo test")

        Catch ex As Exception
            MsgBox(ex.ToString)

        End Try
Messages postés
16040
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 juin 2021
711
Bonjour,

pour écrire un fichier texte, je préfère utiliser la classe File qu'un stream :

    Private Sub BatAvexo(CheminFichier As String, Mot1 As String, Mot2 As String)
        Dim lignes As New List(Of String)


        'on "construit" le texte ligne par ligne
        lignes.Add("@echo off")
        lignes.Add(String.Format("echo {0} {1}", Mot1, Mot2))

        'ecriture du fichier
        File.WriteAllLines(CheminFichier, lignes)

    End Sub