rediriger le résultat d'une cmd dans 1 fichier et sur la sortie std ? - Shell/Batch - Programmation
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 ?
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 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.
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...
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 ?
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 : |
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.
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=
Marsh Posté le 13-01-2003 à 14:00:15
hellbilly 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 ?).
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
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
Marsh Posté le 13-01-2003 à 15:27:11
CARBON_14 a écrit : |
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 |
impecable, ca marche merci
Marsh Posté le 13-01-2003 à 18:39:23
Dommage tee, sous DOS, ça n'existe pas... Pas si terrible que ça, le DOS, mal copié sur nunux.
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