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 :

[Shell] dir, pipe, et redirection


Sujet :

Scripts/Batch

  1. #1
    Membre régulier Avatar de DonkeyMaster
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 95
    Points : 110
    Points
    110
    Par défaut [Shell] dir, pipe, et redirection
    Bonjour,
    je cherche à écrire une ligne de commande qui envoie dans un programme le contenu de plusieurs fichiers qui se trouvent dans le répertoire courant.


    J'ai un programme monappli.exe, qui permet de taper des lignes de texte au clavier.

    comme je suis fainéant, je veux mettre toutes ces lignes dans un fichier, comme celui-ci :

    Code monfic.txt : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\Home\Mes Images
     C:\Home\Mes Vidéos

    donc, dans la ligne de commande, je tape
    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    monappli.exe < monfic.txt
    et ça marche très bien.

    Ensuite, je veux récupérer les lignes de plusieurs fichiers

    Code monfic2.txt : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\Home\Mes Textes
     C:\Home\Mes Formes

    Je sais récupérer le nom de ces plusieurs fichiers avec dir
    Je sais afficher leur contenu

    mais maintenant je veux enchaîner tout ça :
    pour chaque fichier txt dans le répertoire courant, envoyer son contenu dans monappli.exe, donc, mettre en chaîne dir, type, et monappli.exe.
    J'ai essayé au hasard plusieurs combinaisons de ces commandes, avec des pipes et des redirections, mais rien ne me donne le résultat que je veux.

    Quelqu'un pourrait me donner la commande à entrer ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Points : 100
    Points
    100
    Par défaut
    Je sais pas si j'ai tout compris mais bon...

    Une solution serait de rassembler le contenu de tous tes fichiers .txt dans un seul et même fichier .txt.
    Et ensuite, envoyer ce fichier en paramètre de ton appli. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    type *.txt > EnsembleDesFic.txt
    monappli.exe < EnsembleDesFic.txt

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Points : 1 111
    Points
    1 111
    Par défaut
    Je te conseillerais de faire un script vbs avec une boucle for, qui liste tous les fichiers txt de ton répertoire pusi pour chaque fichier txt effectue une commande du type

    monappli.exe fichier.txt

    Pour lister un repertoire en vbs, voila un lien vers un script exemple :
    http://www.go4expert.com/forums/showthread.php?t=927

    De toute facon tu n'arriveras pas a faire ce que tu veux en une ligne de commande shell, il te faut nécessairement faire un script.

  4. #4
    Expert éminent
    Avatar de shawn12
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2006
    Messages
    3 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2006
    Messages : 3 368
    Points : 6 800
    Points
    6 800
    Par défaut
    Si c'est faisable, tu peux t'inspirer de cette question de la FAQ Batch.
    Maitrisez toutes les subtilités de Windows 8 en lisant la FAQ Windows 8. N'hésitez pas à proposer vos Q/R.
    _ _ _
    Découvrez toutes les facettes de Windows 7 et maitrisez toutes ses fonctionnalités grâce au livre Windows 7 Avancé

  5. #5
    Membre régulier Avatar de DonkeyMaster
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 95
    Points : 110
    Points
    110
    Par défaut
    Merci pour vos réponses.

    La solution qui répond à mon problème est celle de mikemarti :
    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     type *.txt > EnsembleDesFic.txt
    monappli.exe < EnsembleDesFic.txt

    Je l'ai testé et ça marche impécablement

    Merci beaucoup

Discussions similaires

  1. Shell gerer les multis redirections
    Par saturn1 dans le forum Débuter
    Réponses: 2
    Dernier message: 06/12/2009, 16h34
  2. pipe et redirection entrée en même temps
    Par iohack dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 27/11/2008, 19h34
  3. Pipe et redirection
    Par Keldou dans le forum Linux
    Réponses: 3
    Dernier message: 30/10/2006, 17h47
  4. Script shell - Redirection
    Par GLDavid dans le forum Linux
    Réponses: 3
    Dernier message: 17/11/2005, 08h56
  5. redirection pipe process perl shell...
    Par r-valkien dans le forum Programmation et administration système
    Réponses: 10
    Dernier message: 11/08/2005, 00h19

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