IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Ecrire ligne en suivant une liste donner [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2020
    Messages : 38
    Par défaut Ecrire ligne en suivant une liste donner
    Bonjour,

    J'aimerais savoir comment faire pour crée un .bat sur le principe du "glisser-déposer", avec pour fonction d'écrire des ligne de texte automatiquement les une en dessous des autres.

    La ligne est presque toujours la même :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO `ville` (`id`, `nom`, `type`, `AdresseIP`) VALUES (NULL, 'AAA1', 'TFT, 'AAA2');

    J'ai énormément de ligne a écrire, je dois changer juste "AA1" et AA2" par une liste de nom que j'ai dans un fichier .txt

    Ou alors le faire en 2 fois exemple :

    le 1er fichier txt remplace AA1

    la 2eme fichier txt remplace AA2

    si fichier vide "1 ou 2" laisser le champ vide.

    Comment faire pour automatiser cette énorme boulot?

    Je suis très loin d'être un pro du batch, donc je ne réussi à rien faire.

    Merci beaucoup

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Tu peux t'inspirer de ma réponse sur ce sujet pour lire les items dans un fichier : https://www.developpez.net/forums/d1...noms-fichiers/

    Pour ajouter dans un fichier il faut faire >>

    exemple
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo a>>toto.txt
    echo b>>toto.txt

  3. #3
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2020
    Messages : 38
    Par défaut
    J'ai réussis à faire ça :
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    set /p ville=<ville.txt
    set /p nom=<nom.txt
    set /p ip=<ip.txt
     
    echo INSERT INTO `%ville%` (`id`, `nom`, `type`, `AdresseIP`) VALUES (NULL, '%nom%', 'TFT, '%ip%'); >> "mysql.txt"

    ça fonctionne mais il ne prend que la première ligne de mes fichiers texte, alors qu'il peut y avoir une centaine de lignes à la fois.

    Merci

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Bonsoir,

    Dans ce cas une méthode plus adaptée serait de passer par une boucle FOR /F pour parcourir le fichier texte contenant les informations.

    Un seul fichier regroupant les infos de manière organisée permettrait de retrouver ces infos avec une seule boucle.
    N'ayant pas accès au contenu de ce fichier, je ne peux te proposer un exemple fonctionnel.

  5. #5
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2020
    Messages : 38
    Par défaut
    Dans le IP.txt il a une liste l'un en dessous de l'autre d'adresse IP
    Pareil pour nom.txt

    La particularité c'est que la ligne 1 de nom.txt à pour IP la ligne 1 de IP.txt

    Donc il faut juste qu'il m'écrit la ligne :

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    echo INSERT INTO `ville` (`id`, `nom`, `type`, `AdresseIP`) VALUES (NULL, '%nom%', 'TFT, '%IP%');

    avec la ligne 1 de chaque fichiers et en dessous la même ligne avec la ligne 2 des 2 fichiers.
    On va légèrement simplifier en enlevant le fichier ville.

    Merci

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Ce sont des fichiers figés ou il est envisageable de fournir 1 seul fichier regroupant ces informations ?

    Sinon il faudra réaliser un traitement particulier pour associer les informations des différents fichiers

  7. #7
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2020
    Messages : 38
    Par défaut
    non je peux les mettre en 1 seule fichier en xls ou csv par exemple avec 2colonnes pas de soucis

  8. #8
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Oui csv avec la virgule.
    J'espère que tu n'as pas de caractère spéciaux aussi.

    Le csv (file.csv) avec : ville,nom,ip
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    paris,eric,127.0.0.1
    madrid,pierre,127.0.0.2

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
     
    set "output=fileout.txt"
    set "csv=file.csv"
     
    if exist "%output%" del "%output%"
    for /f "tokens=1,2,3 delims=," %%a in (%csv%) do echo INSERT INTO `%%~a` (`id`, `nom`, `type`, `AdresseIP`) VALUES (NULL, '%%~b', 'TFT, '%%~c');>>"%output%"
     
    pause

  9. #9
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2020
    Messages : 38
    Par défaut
    Merci beaucoup je vais tout mettre en CSV et c'est parti!!!

    Merci pour tout, vous être les meilleurs.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/03/2007, 09h24
  2. Réponses: 4
    Dernier message: 01/10/2006, 15h37
  3. Réponses: 2
    Dernier message: 26/08/2006, 12h56
  4. Lignes sélectionnées dans une liste
    Par nellynew dans le forum Access
    Réponses: 2
    Dernier message: 26/05/2006, 09h02
  5. Ecrire le contenu d'une List dans un fichier
    Par sabure dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 11/05/2006, 16h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo