[DOS] double redirection

Fermé
santiago69 Messages postés 477 Date d'inscription mercredi 7 mars 2001 Statut Membre Dernière intervention 12 septembre 2016 - 8 avril 2008 à 17:02
santiago69 Messages postés 477 Date d'inscription mercredi 7 mars 2001 Statut Membre Dernière intervention 12 septembre 2016 - 12 avril 2008 à 12:11
Salut a tous,
J'aimerais rediriger la sortie d'une commande vers 2 emplacements differents (voire n emplacements).
Existe-t-il un truc pour cela ?
Une syntaxe du genre :
dir C:\WINDOWS\system32 > fichier.txt > find "mp3"

Ou l'integralite du contenu du repertoire serait envoyee a la fois vers fichier.txt et vers la fonction find.
Merci d'avance
Santiago

6 réponses

Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125
8 avril 2008 à 19:29
Bonjour,

Je ne suis pas trop calé dans la matière mais je ne vois que:

dir C:\WINDOWS\system32 > fichier.txt
find "mp3" < fichier.txt

Avec un peu de chance ça marche,
M.
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
8 avril 2008 à 19:32
Bonsoir,

Tu veux localiser quoi exactement avec la commande FIND ? Tous les fichiers mp3 contenus dans le répertoire C:\WINDOWS\system32 ?
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
8 avril 2008 à 20:40
J'imagine que c'est un pipe dont tu as besoin :

[F:\downloads]dir | c:\WINDOWS\system32\find.exe "zip"
25/11/2006   5:46         256.259  2m30.zip
 2/11/2007   0:21       1.670.453  devcpp-4.9.9.2-src.zip
13/11/2006  20:24         703.862  FB-manual-chm-17.oct.2006.zip
15/10/2007   1:22          15.999  fr_BE.zip
15/10/2007   1:23         325.683  fr_FR.zip
 3/11/2006   5:00         277.469  hackcrck.zip
 2/03/2008   8:17       1.536.204  putty.zip
 6/04/2008  21:08     113.325.422  Wireless_Intel_v11.1.1.11_XP_Vista.zip

ou utilise tee

[F:\downloads]dir |tee brol | c:\WINDOWS\system32\find.exe "zip"
25/11/2006   5:46         256.259  2m30.zip
 2/11/2007   0:21       1.670.453  devcpp-4.9.9.2-src.zip
13/11/2006  20:24         703.862  FB-manual-chm-17.oct.2006.zip
15/10/2007   1:22          15.999  fr_BE.zip
15/10/2007   1:23         325.683  fr_FR.zip
 3/11/2006   5:00         277.469  hackcrck.zip
 2/03/2008   8:17       1.536.204  putty.zip
 6/04/2008  21:08     113.325.422  Wireless_Intel_v11.1.1.11_XP_Vista.zip

[F:\downloads]dir brol

 Volume in drive F is HDA6           Serial number is 5CDE:B9DC
 Directory of  F:\downloads\brol

 8/04/2008  20:41           2.947  brol
          2.947 bytes in 1 file and 0 dirs    16.384 bytes allocated
 10.809.163.776 bytes free


J'utilise le chemin complet vers find.exe car je dispose d'un find sous cygwin dans mon PATH
De toute manière, il vaut mieux utiliser un outil unix-like tel grep au lieu des outols primitifs de Win$
0
santiago69 Messages postés 477 Date d'inscription mercredi 7 mars 2001 Statut Membre Dernière intervention 12 septembre 2016 209
12 avril 2008 à 03:03
Salut a tous et merci de vos reponses.

@ Mahmah
Ta commande marche, mais elle ne realise pas une double redirection. L'envoi n'est pas fait "a la fois" mais "l'un apres l'autre". Il y a de nombreux cas dans lesquels il ne va pas marcher.

@ cchristian
Dans l'exemple que j'ai propose, la commande se lit comme suit :
- Lister les fichiers dans system32
- envoyer cette liste dans fichier.txt
- afficher les fichiers dont le nom contient la chaine "mp3"
Bien sur ma syntaxe est incorrecte.

@ jisisv
C'est exactement un tee dont j'aurais besoin en linux. Mais je suis cette fois dans windows et tee n'est pas une commande native et j'ai besoin d'un script portable.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
12 avril 2008 à 04:29
Bonjour,

J'avais préparé ça le 8 je ne me souviens plus très bien si ça correspond exactement à ton problème là il est vraiment trop tard pour retester :

dir C:\WINDOWS\system32\ > rein.txt&& FOR /R %%F IN ("*.bat") DO ( ECHO %%F >> rien.txt)
0
santiago69 Messages postés 477 Date d'inscription mercredi 7 mars 2001 Statut Membre Dernière intervention 12 septembre 2016 209
12 avril 2008 à 12:11
Salut cchristian,
Je viens de tester ta commande mais elle ne marche pas. En effet, a la regarder de plus pres, elle se decompose logiquement de la maniere suviante :
dir C:\WINDOWS\system32\ > rein.txt

Cette partie liste le contenu de system32 et envoi le resultat dans rein.txt
FOR /R %%F IN ("*.bat") DO ( ECHO %%F >> rien.txt)

Cette partie liste les fichiers *.bat (IN ("*.bat")) contenus dans le repertoire courant et ses sous-repertoires (/R), et ajoute cette liste (>>) au fichier rien.txt.
Merci quand meme pour la proposition.
0