rediriger le résultat d'une cmd dans 1 fichier et sur la sortie std ?

rediriger le résultat d'une cmd dans 1 fichier et sur la sortie std ? - Shell/Batch - Programmation

Marsh Posté le 13-01-2003 à 11:36:21    


J'ai essaye cmd >&1 >nom_fichier mais ca marche pas
 
j'ai également un autre pb. Mon nom de fichier est généré à partir de valeurs de différentes variables. Quand je fais echo nom_fichier-$toto-$titi ca marche, j'ai la bonne chaine mais >nom_fichier-$toto-$titi marche pas. Je suis passé par une variable intermédiaire marche pas non plus.
 
merci

Reply

Marsh Posté le 13-01-2003 à 11:36:21   

Reply

Marsh Posté le 13-01-2003 à 13:13:02    

"cmd >&1 >nom_fichier", le but serait d'envoyer le flux sortant dans un fichier ET à l'écran en même temps ?
 
nom_fichier-$toto-$titi, ça ajoute des caractères optionnels à nom_fichier ou ce sont des options de cmd ?
 

Reply

Marsh Posté le 13-01-2003 à 13:24:59    

CARBON_14 a écrit :

"cmd >&1 >nom_fichier", le but serait d'envoyer le flux sortant dans un fichier ET à l'écran en même temps ?


 
oui c'est ce que je voudrais, on peut pas ?
 

CARBON_14 a écrit :

 
nom_fichier-$toto-$titi, ça ajoute des caractères optionnels à nom_fichier ou ce sont des options de cmd ?
 


 
nom_fichier-$toto-$titi est le nom de mon fichier. Comme je lance plusieurs fois le meme prog, il faut qu'a chaque fois j'ai un nom de fichier différent.
 
 

Reply

Marsh Posté le 13-01-2003 à 13:40:44    

Suis pas spécialiste :( mais quand on redirige par > ou |, il me semble que c'est tout ou rien. ? Aiguillage possible ?? Cf un pro du DOS.
 
Pour fabriquer les noms, faut que je retrouve un exemple que j'ai dû sauver (ici, au labo) ou à la maison pour mettre la date dans le nom, ou des trucs comme ça. Qq a donné méthode (avec des trucs de batch qu'on ignore généralement, sorti des %1 %2 ou %%1 pour appel dans batch, je sais pas).
Je cherche... :heink:  :ange:  
 
Les chaînes toto et titi seraient passées en paramètre ?  
Genre  
LanceCommande toto titi  
récupéré dans le LanceCommande.BAT par %1 %2 ?

Reply

Marsh Posté le 13-01-2003 à 13:51:19    

CARBON_14 a écrit :

Suis pas spécialiste :( mais quand on redirige par > ou |, il me semble que c'est tout ou rien. ? Aiguillage possible ?? Cf un pro du DOS.


En fait c'est sous linux  :) script bash
 

CARBON_14 a écrit :


Pour fabriquer les noms, faut que je retrouve un exemple que j'ai dû sauver (ici, au labo) ou à la maison pour mettre la date dans le nom, ou des trucs comme ça. Qq a donné méthode (avec des trucs de batch qu'on ignore généralement, sorti des %1 %2 ou %%1 pour appel dans batch, je sais pas).
Je cherche... :heink:  :ange:  
 
Les chaînes toto et titi seraient passées en paramètre ?  
Genre  
LanceCommande toto titi  
récupéré dans le LanceCommande.BAT par %1 %2 ?


Les chaines sont des compteurs incrémentés a chaque lancement du prog, j'aimerais mettre également l'heure dans le nom du fichier.
Si t'as un exemple avec des variables passées en paramètre du script c bon.

Reply

Marsh Posté le 13-01-2003 à 13:57:29    

En m'inspirant d'un exemple donné par *Syl* pour créer un répertoire à la date du jour, j'ai fait test avec le fichier batch toto.bat qui contient :
 
set _aa=%1
set _bb=%2
copy toto.txt %_aa%_%_bb%.txt
:: faire le menage
:: ---------------
set _aa=
set _bb=
 
Quand on lance sous DOS "toto u v", ça copie le fichier toto.txt en u_v.txt (le _ intermédiaire est entre les % séparateurs, mais c'était pour tester). Si on a besoin de plus de deux param, on a %3 %4 %5, ..
 
Ca pourrait servir ?
La référence : http://forum.hardware.fr/forum2.ph [...] h=&subcat=

Reply

Marsh Posté le 13-01-2003 à 14:00:15    

hellbilly a écrit :


En fait c'est sous linux  :) script bash


Ca change tout, car à la fin de la réf indiquée, au lieu de se casser la tête, qq emploie la commande mkdir `date '+%Y%m%d'`.
Vive nunux (quand on le maîtrise ?).

Reply

Marsh Posté le 13-01-2003 à 14:12:54    

pour envoyer une info sur la sortie standard et dans un fichier
on utilise la commande tee
ex : echo "bonjour" | tee toto.txt
affichera bonjour à l'écran (enfin la sortie standard et écrira bonjour
dans le fichier toto.txt

Reply

Marsh Posté le 13-01-2003 à 14:16:04    

pour crééer des fichiers avec des noms de variable qui changent
il faut utiliser la commande eval

Reply

Marsh Posté le 13-01-2003 à 15:27:11    

CARBON_14 a écrit :


Ca change tout, car à la fin de la réf indiquée, au lieu de se casser la tête, qq emploie la commande mkdir `date '+%Y%m%d'`.
Vive nunux (quand on le maîtrise ?).
 


 
we désolé, j'aurais du le preciser des le depart que c'etait du bash. En tout cas merci, pour la commande date.
 

GobbaF a écrit :

pour envoyer une info sur la sortie standard et dans un fichier
on utilise la commande tee
ex : echo "bonjour" | tee toto.txt
affichera bonjour à l'écran (enfin la sortie standard et écrira bonjour
dans le fichier toto.txt


 :love: impecable, ca marche merci
 

Reply

Marsh Posté le 13-01-2003 à 15:27:11   

Reply

Marsh Posté le 13-01-2003 à 18:39:23    

:cry: Dommage tee, sous DOS, ça n'existe pas... Pas si terrible que ça, le DOS, mal copié sur nunux.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed