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 :

Petit Batch entre amis


Sujet :

Scripts/Batch

  1. #1
    Membre confirmé Avatar de Orakle
    Homme Profil pro
    Responsable Informatique
    Inscrit en
    Mars 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2004
    Messages : 204
    Par défaut Petit Batch entre amis
    Bonjour,

    dans le cadre d'un développement, j'ai un travail de dev à faire en batch, sauf que je ne connais pas très bien ce code.
    Par contre je sais expliquer les étapes et ce que je dois faire et j'aimerai de l'aide, d'où ma venue.
    Ma contrainte, c'est le temps. J'ai un maxi de 3 semaines pour le réaliser. Si je peux boucler avant ce serait merveilleux!!

    En gros je vous donne l'idée générale :

    Dans un dossier, j'ai des fichiers (sans extension) qui tombent dedans toutes les 5 minutes en moyenne.
    je dois lire les infos contenues dans tous ces fichiers texte (sans extension).
    Pour un fichier, si certaines conditions sont remplies je dois récupérer une partie des informations contenues dans ce fichier et recréer un autre fichier texte (sans extension) avec les informations récupérées du premier.

    Ensuite j'enregistre ce nouveau fichier dans un autre dossier selon une codification bien précise.

    J'ai une autre partie en amont car mes critères de recherche proviennent en partie d'une liste dans un fichier Excel saisie par un exploitant.

    Peut être qu'il faudra dépasser le cadre du Batch et aller sur d'autre méthode pour réaliser ce travail dans sa globalité. Mais déjà si vous pouvez m'aider à dégrossir le terrain, ce serait super!!


    Je ne vais pas en dire plus pour l'instant, mais je vais dérouler au fur et à mesure que la conversation se construit si quelqu'un ou plusieurs personnes veulent bien m'aider.

  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
    Les fichiers Excel sont au format csv ?

    A quoi ressemblent les critères ?

    Quelles sont les informations a récupérer des fichiers ?

    Quelles est la codifications ?

    On peux choisir un langage moins arriéré que Batch ?

  3. #3
    Membre confirmé Avatar de Orakle
    Homme Profil pro
    Responsable Informatique
    Inscrit en
    Mars 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2004
    Messages : 204
    Par défaut
    Bonjour,

    pour répondre à l'ensemble de tes questions :

    Les fichiers Excel sont au format csv ? Non c'est un xlsx classique (MSO 2013)

    A quoi ressemblent les critères ? En montrant le REPORT je vais donner la réponse directement dessus

    Quelles sont les informations a récupérer des fichiers ? Idem je vais montrer ce dont j'ai besoin

    Quelles est la codifications ? Une copie d'écran permettra d'y voir plus clair.

    On peux choisir un langage moins arriéré que Batch ? oui on peut, je regarde aussi du côté du VBA pour voir si je ne peux pas m'en sortir mieux...


    Donc voici ce que je reçois à l'origine (ex):

    Nom de fichier : 260918_TCPP8466

    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
    <ENVELOPPE>
    <EDI_EMETTEUR>00000000000011</EDI_EMETTEUR>
    <EDI_DESTINATAIRE>00000000000017</EDI_DESTINATAIRE>
    <TYPE>REPORT</TYPE>
    </ENVELOPPE>
    UNH0REPORT31
    NAD1DP 00000000000011   SOCIETE TARTEMPION                           
    NAD1FW 00000000000017   MOI                       
    RFF3UNC834318601 139988                   
    RSJ4MS LIVCFM000000
    DTM4DSJ1809261838
    DTM4DDI1809261845
    TXT4DELRECEPISSE SCANNE                                                      
    DOC3WBL139988                             
    RFF3UNC834319001 139993                   
    RSJ4MS LIVCFM000000
    DTM4DSJ1809261839
    DTM4DDI1809261845
    TXT4DELRECEPISSE SCANNE                                                      
    DOC3WBL139993                             
    RFF3UNC834324301 314149                   
    RSJ4MS LIVCFM000000
    DTM4DSJ1809261838
    DTM4DDI1809261845
    TXT4DELRECEPISSE SCANNE                                                      
    DOC3WBL314149                             
    FIN0
    Lorsque je reçois ce document je dois en créer un autre qui ressemble à celui ci à la différence que je dois remplacer l’émetteur xxx par moi = ...17
    et je dois mettre le destinataire en .....18 c'est aussi moi mais dans l'autre environnement.
    Je dois également modifier le nom de fichier en 260918_TCPM8466.

    Sauf que là j'en suis déjà à l'étape où j'ai identifié un fichier qui m'intéresse.

    1. Je dois ouvrir tous les fichiers qui arrivent dans un dossier X et qui sont en ######_TCPP****

    J'ai à côté de ça, un fichier Excel qui me donne les N° référence qui m'intéresse ex: 139993... (qu'on retrouve en ligne 15 dans l'exemple EDI)
    dans excel c'est une liste de plusieurs références, et toute cette liste n'est pas dans le même fichier EDI.

    2. Une fois trouvé une correspondance RFF3UNC = "139993"
    Je ne fais pas de distinction sur ce que je dois récupérer je créé un nouveau fichier à l'identique et je remplace.
    le TCPP par TCPM
    le destinataire par l'émetteur
    et je donne en destinataire le N° en ...17 qui est mon autre environnement. (à 2 endroits ligne 2,3 et 7, 8)
    Et j'enregistre ce fichier dans un autre dossier Y.

    J'espère avoir éclairci un peu plus...

  4. #4
    Membre confirmé Avatar de Orakle
    Homme Profil pro
    Responsable Informatique
    Inscrit en
    Mars 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2004
    Messages : 204
    Par défaut
    J'ajoute une information c'est un détail mais...:

    lorsque j'enregistre mon second fichier il doit être sous la forme : TCPM**** (je n'ai pas de notion de date à ce moment là)

  5. #5
    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,

    Voilà une première ébauche :

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    @echo off
    setlocal enableextensions enabledelayedexpansion
    chcp 1252 >nul
    
    set reference=139993
    set "dossier=dossier Y"
    
    for /f "delims=" %%A in ('dir /b /a-d "*TCPP*"') do (
    
    (findstr "RFF3UNC" "%%~A" | find "%reference%") && call :ecriture "%%~A"
    
    )
    
    explorer /select,%dossier%
    
    exit /b 0
    
    :ecriture
    
    set "fichier=%~1"
    set "fichier=!fichier:TCPP=TCPM!"
    
    set ligne=0
    
    for /f "usebackq tokens=1-2,*" %%B in ("%~1") do (
    	set "chaine=%%~B"
    	set /a ligne+=1
    
    	if !ligne! EQU 1 (echo %%B)
    	
    	if !ligne! EQU 3 (
    		set destinataire=!chaine:~18,14!
    		echo ^<EDI_EMETTEUR^>!destinataire!^</EDI_EMETTEUR^>
    		echo ^<EDI_DESTINATAIRE^>00000000000018^</EDI_DESTINATAIRE^>
    	)
    
    	if !ligne! EQU 4 (echo %%B)
    
    	if !ligne! EQU 5 (echo %%B)
    
    	if !ligne! EQU 6 (echo %%B)
    
    	if !ligne! EQU 7 (echo %%B !destinataire! %%D)
    		
    	if !ligne! EQU 8 (echo %%B 00000000000018 %%D)
    
    	if !ligne! GEQ 9 (echo %%B %%C)
    	
    )>>!fichier!
    
    >nul move !fichier! %dossier%
    goto :eof
    Pour l'instant ce script ne va pas chercher une référence dans un fichier excel, je lui ai donné une référence fixe.

    La partie soulignée est à modifier à ta guise.

    Pour fonctionner, ce script doit être placé dans le même dossier que les fichiers sans extension.

Discussions similaires

  1. [Android] Petits Comptes entre Amis
    Par GroXx dans le forum Mon application mobile
    Réponses: 8
    Dernier message: 09/10/2012, 02h16
  2. [AC-2003] Petite pause entre 2 commandes et pb fichier batch
    Par fase93 dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/03/2010, 21h14
  3. Réponses: 2
    Dernier message: 25/08/2009, 15h20
  4. Petit écart entre 2 div sous FF
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 14/10/2005, 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