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 :

Répétition de tache à simplifier [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre actif

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2011
    Messages
    370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 370
    Points : 251
    Points
    251
    Par défaut Répétition de tache à simplifier
    Bonjour,

    Je voudrai simplifier ces lignes via une boucle, est-ce possible?

    Nous voyons ici que le nom des fichiers = au nom des bases à charger.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.ACTID FROM 'C:\Rep\ACTID.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.ACTIH FROM 'C:\Rep\ACTIH.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CBUDD FROM 'C:\Rep\CBUDD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CCOUD FROM 'C:\Rep\CCOUD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CCOUH FROM 'C:\Rep\CCOUH.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CDEVD FROM 'C:\Rep\CDEVD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CFINH FROM 'C:\Rep\CFINH.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CIMOD FROM 'C:\Rep\CIMOD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CPCED FROM 'C:\Rep\CPCED.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CPERD FROM 'C:\Rep\CPERD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CPFTD FROM 'C:\Rep\CPFTD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CPFTH FROM 'C:\Rep\CPFTH.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CPMTD FROM 'C:\Rep\CPMTD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CTVAD FROM 'C:\Rep\CTVAD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.DACTD FROM 'C:\Rep\DACTD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.DFOND FROM 'C:\Rep\DFOND.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.DFONH FROM 'C:\Rep\DFONH.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.DIVID FROM 'C:\Rep\DIVID.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.EOTPD FROM 'C:\Rep\EOTPD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.FONDD FROM 'C:\Rep\FONDD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.FONDH FROM 'C:\Rep\FONDH.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.GACHD FROM 'C:\Rep\GACHD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.GMDSD FROM 'C:\Rep\GMDSD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.LOCID FROM 'C:\Rep\LOCID.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.MPMTD FROM 'C:\Rep\MPMTD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.OACHD FROM 'C:\Rep\OACHD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.PAYSD FROM 'C:\Rep\PAYSD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.REGID FROM 'C:\Rep\REGID.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.SOCID FROM 'C:\Rep\SOCID.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.TFONH FROM 'C:\Rep\TFONH.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.TIMPD FROM 'C:\Rep\TIMPD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.TOPED FROM 'C:\Rep\TOPED.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.TPIED FROM 'C:\Rep\TPIED.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.TTIED FROM 'C:\Rep\TTIED.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.AXE1D FROM 'C:\Rep\AXE1D.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.CFIND FROM 'C:\Rep\CFIND.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.FIMOD FROM 'C:\Rep\FIMOD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.LOCMD FROM 'C:\Rep\LOCMD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.NATDD FROM 'C:\Rep\NATDD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.PROJD FROM 'C:\Rep\PROJD.TXT' DELIMITERS '|';"
    "C:\Program Files\PostgreSQL\9.4\bin\psql.exe" -U %User% -d %BaseDonnee% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.TFOND FROM 'C:\Rep\TFOND.TXT' DELIMITERS '|';"
    Cordialement,
    Vandman

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 438
    Points : 43 081
    Points
    43 081
    Par défaut
    En utilisant une boucle for et des variables.

    Regardes ici :
    http://initscreen.developpez.com/tut...ript-batch/#LV

    Par ailleurs bash, c'est du Linux. Sous Windows on parle plutôt de batch.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    @echo off
    set fullPathFile=C:\Program Files\PostgreSQL\9.4\bin\psql.exe
    set ^"bases=^
    %=   =%ACTID, ACTIH, CBUDD, CCOUD,^
    %=   =%CCOUH, CDEVD, CFINH, CIMOD,^
    %=   =%CPCED, CPERD, CPFTD, CPFTH,^
    %=   =%CPMTD, CTVAD, DACTD, DFOND,^
    %=   =%DFONH, DIVID, EOTPD, FONDD,^
    %=   =%FONDH, GACHD, GMDSD, LOCID,^
    %=   =%MPMTD, OACHD, PAYSD, REGID,^
    %=   =%SOCID, TFONH, TIMPD, TOPED,^
    %=   =%TPIED, TTIED, AXE1D, CFIND,^
    %=   =%FIMOD, LOCMD, NATDD, PROJD,^
    %=   =%TFOND,^
    "
    (for %%f in ( %bases% ) do (
       echo "%fullPathFile%" -U %%User%% -d %%Basedonnee%% -c "SET CLIENT_ENCODING TO 'UTF8'; COPY Base.%%~f FROM 'C:\Rep\%%~f.TXT' DELIMITERS '|';" 
    ))>OutputTest.txt
    start "" OutputTest.txt
    exit

  4. #4
    Membre actif

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2011
    Messages
    370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 370
    Points : 251
    Points
    251
    Par défaut
    Merci hackoofr,

    Ca fonctionne très bien.

    Cordialement,
    Vandman

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

Discussions similaires

  1. Tache de fond repetitive
    Par bza88 dans le forum Android
    Réponses: 1
    Dernier message: 03/06/2013, 17h14
  2. [XL-2003] Meme tache a effectuer sous une macro (possibilité de simplifier ?)
    Par teddy72000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2011, 01h49
  3. Simplifier tache sur plusieurs onglets
    Par patrick55 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/01/2008, 18h33
  4. Comment depuis un script bash, créer une tache planifier (crontab) ?
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 15
    Dernier message: 22/08/2007, 22h05
  5. Réponses: 5
    Dernier message: 01/07/2007, 20h25

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