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

Windows Discussion :

Little Script UNIX ==> A Passer sous Windows


Sujet :

Windows

  1. #1
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut Little Script UNIX ==> A Passer sous Windows


    Aidez moi siou plait
    je doit faire une concatenation conditionnée de fichiers sous WIndows

    (Sous UNIX j'ai aucun pB pour faire ce genre de manip mais sous windows , je métrise pas )

    En résumé : le synoptique est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    pour chaque fichiers de Type PRD****** (**** = Un numero)
    faire    
             nnnnnn = Noméro du ficher PRD courant   
             Si Présence du fichier FAC{nnnnn} 
             Alors
                      Ajoute PRD{nnnnnn} à PRDTOTAL
                      Ajoute FAC{nnnnnn} à FACTOTAL
             Fin Si
    Fin Pour
    Sous UNIX ça peut donner un truc comme ça :

    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
    #!/bin/ksh
    
    # -------------------------------------------------
    # -- Pour l'ensemble des fichiers de Type PRD{nnnnn}
    # -------------------------------------------------
    for LE_PRD in PRD[0-9][0-9][0-9][0-9][0-9]
    do
         NUMERO=`echo "$LE_PRD" | cut -c 4-8`
         echo $LE_PRD $NUMERO
         # ---------------------------------------------
         # -- Si Le Fichier FAC de meme numero que PRD est Present
         # -- Alors J'ajoute le contenu du PRD courant Dans PRDTOTAL
         # --       J'ajoute le contenu de FAC courant Dans FACTOTAL
         # ---------------------------------------------
         if [ -f FAC${NUMERO} ]
         then
             echo $NUMERO
             cat $LE_PRD >> PRDTOTAL
             cat FAC${NUMERO} >> FACTOTAL
         fi
    done
    Comment faire ça sous Windows :

    Merci pour aide
    Signé : Capitaine Jean-Luc Picard

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu télécharge ActivePerl et tu fais :
    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
    # ! /usr/bin/perl
    use strict; # use warnings;
    
    for my $filePRD ( glob("PRD*") ) {
       my $num = substr $filePRD, 3, 5;
       print $filePRD, $num, "\n";
       if( -e  "./FAC$num") {
          print $num, "\n";
          cat( "./$filePRD", "./PRDTOTAL");
          cat( "./FAC$num", "./FACTOTAL");
       }
    }
    
    sub cat ($$) {
       open IN, '<&#58;raw', $_&#91;0&#93;;
       open OUT, '>>&#58;raw', $_&#91;1&#93;;
       local $/;
       print OUT <IN>;
    &#125;
    L'avantage, c'est que ça fonctionnera aussi pour Linux...
    (si je n'ai pas fait d'erreurs, mais ça fait longtemps que je n'ai plus codé)

    EDIT : Code corrigé et testé.

    --
    Jedaï

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 289
    Points : 342
    Points
    342
    Par défaut
    Ca fait bien longtemps que je n'ai pas codé de .BAT ( ), mais il me semble que remplacer tes "cat" par du "type" devrait aider. Par contre, les "cut", je sais pas...

  4. #4
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Si tu as l'option d'installer des outils *nix, cela serait encore plus simple.

    (on ne devrait pas plutôt être dans le forum dev. windows ?)
    EDIT Gnux: si voilà qui est fait merci
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut, je peux te proposer un début de solutions mais il me manque qq info :
    Quelles version de Windows ?
    Peux-tu installer des outils additionnelle sur les machines cible ?
    Existe-t-il ou existera-t-il des fichiers de type PRD***** contenant des lettres ?

    Cela semble réalisable mais les scripts NT ne permettent pas l'utilisation des expressions réguliéres.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for LE_PRD in PRD&#91;0-9&#93;&#91;0-9&#93;&#91;0-9&#93;&#91;0-9&#93;&#91;0-9&#93;
    Perl est trés bonne solution si on connait le Perl

  6. #6
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Merci à Tous Pour vos réponses :

    Effectivement : en telechargeant les Outils POSX : ça fonctionne à merveille

    Perl : je connais pas : mais jvé voir ça !!!
    Signé : Capitaine Jean-Luc Picard

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

Discussions similaires

  1. Script pour simuler un clic sous Windows
    Par Sha0r4n dans le forum Programmation système
    Réponses: 0
    Dernier message: 07/11/2013, 19h19
  2. export base sous unix vers une base sous windows
    Par ahmed99 dans le forum Débuter
    Réponses: 5
    Dernier message: 22/04/2011, 11h32
  3. editeur de script unix sous windows
    Par sam01 dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 15/09/2008, 15h56
  4. Connexion depuis Unix sur serveur Mysql sous Windows
    Par krlou dans le forum Installation
    Réponses: 4
    Dernier message: 01/02/2008, 17h32
  5. Script de suppression d'archives sous WINDOWS
    Par alxkid dans le forum Administration
    Réponses: 3
    Dernier message: 18/08/2004, 11h11

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