Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
831 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Comment envoyer le résultat vers un fichier et garder à l'écran ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment envoyer le résultat vers un fichier et garder à l'écran ?

n°1566030
VinZz972
Posté le 28-05-2007 à 09:42:49  profilanswer
 

Bonjour à tous,
Je cherche à exécuter un programme et à en enregistrer son contenu dans un fichier.
J'ai trouvé comment exporter vers un fichier mais le problème c'est que je n'ai alors plus l'affichage de l'exécution du programme à l'écran.
Y'a-t-il un moyen d'avoir les deux ?
 
Voici ma commande : (Pour mon serveur GTA-SA :))

Code :
  1. samp-server.bat >> samp-%date:~6,4%-%date:~3,2%-%date:~0,2%.log


 
Merci.


---------------
Mon Feedback
mood
Publicité
Posté le 28-05-2007 à 09:42:49  profilanswer
 

n°1566032
ory
Posté le 28-05-2007 à 09:48:54  profilanswer
 

tee :o

n°1566035
webding
Posté le 28-05-2007 à 10:02:35  profilanswer
 

non, c'est soit l'un soit l'autre

n°1566051
VinZz972
Posté le 28-05-2007 à 10:50:30  profilanswer
 

arf donc y'a VRAIMENT aucun moyen même détourné ?


---------------
Mon Feedback
n°1566116
matafan
Posté le 28-05-2007 à 12:55:40  profilanswer
 

On t'as dis "tee". Si tu installes cygwin, et en particulier les coreutils, tu aura tee.

n°1566127
VinZz972
Posté le 28-05-2007 à 13:33:40  profilanswer
 

bah pour moi tee ça m'évoquait rien comme nom donc je pouvais pas devenier :)
 
Je vais mettre cygwin donc. Merci.


---------------
Mon Feedback
n°1566137
VinZz972
Posté le 28-05-2007 à 14:03:05  profilanswer
 

Euh quelqu'un peut m'aider concernant le fonctionnement de tee ?
Sous Windows, j'avais donc réussi à créer un fichier avec la date du jour comme nom grâce à ce code :
 
samp-server.bat >> samp-%date:~6,4%-%date:~3,2%-%date:~0,2%.log
 
Comment faire la même chose avec cygwin ?
 
Je n'arrive même pas à lancer mon appli à partir de Cygwin


Message édité par VinZz972 le 28-05-2007 à 14:04:32

---------------
Mon Feedback
n°1566194
matafan
Posté le 28-05-2007 à 15:08:16  profilanswer
 

samp-server.bat | tee samp-`date +%Y%m%d`.log

n°1566239
VinZz972
Posté le 28-05-2007 à 15:47:10  profilanswer
 

Merci.
Mais il me dit command not found quand j'essai ta commande ou alors juste un excutable


---------------
Mon Feedback
n°1566260
matafan
Posté le 28-05-2007 à 16:15:28  profilanswer
 

Il faut donner le chemin de la commande si elle n'est pas dans ton PATH. Si elle est dans le répertoire courant : ./samp-server.bat | tee samp-`date +%Y%m%d`.log

mood
Publicité
Posté le 28-05-2007 à 16:15:28  profilanswer
 

n°1566277
VinZz972
Posté le 28-05-2007 à 16:36:15  profilanswer
 

Génial, ça fonctionne merci !
 
Par contre ce que je voudrais maintenant ça serait pouvoir lancer cygwin automatiquement et lui faire lancer automatiquement un BAT avec la commande.
J'ai donc créé le bat mais ensuite comment faire en sorte que cygwin l'ouvre automatiquement ?


---------------
Mon Feedback
n°1566290
matafan
Posté le 28-05-2007 à 17:07:27  profilanswer
 

En fait le truc qui t'échappe c'est que tu peux très bien utiliser tee depuis ton shell normal (le cmd.exe de windows). Cygwin c'est un project, c'est pas un programme. Ce que tu appelles "cygwin" dans tes posts, c'est bash, qui est un shell au même titre que cmd.exe (enfin au même titre... Je me comprend :D). Les programmes qui viennent avec cygwin, dont tee, sont indépendants du shell qui va les lancer... Tu peux lancer tee de la façon que tu veux.

n°1566291
VinZz972
Posté le 28-05-2007 à 17:10:16  profilanswer
 

ah d'accord !
Ca m'arrange ça !!
Donc j'appel tee de la même manière que sous cygwin ?


Message édité par VinZz972 le 28-05-2007 à 17:12:58

---------------
Mon Feedback
n°1566305
VinZz972
Posté le 28-05-2007 à 17:33:57  profilanswer
 

Bon, j'ai plus ou moins réussi mais on dirait que tee empêche le programme de se lancer :(


---------------
Mon Feedback
n°1566316
VinZz972
Posté le 28-05-2007 à 17:53:31  profilanswer
 

Après d'autres tests, j'en déduis que tee arrête l'exécution des autres programmes ...
Et quand je le fais depuis Cygwin, ça fonctionne mais je n'ai pas le déroulement du programme à l'écran (il apparît après un CRTL+C)


Message édité par VinZz972 le 28-05-2007 à 18:12:09

---------------
Mon Feedback
n°1567622
VinZz972
Posté le 31-05-2007 à 08:36:25  profilanswer
 

Personne ne peut m'aider donc ?
Au final j'en déduis que tee fait pareil que les >> pour exporter vers un fichier puisque je ne vois plus rien s'afficher à l'écran ...


---------------
Mon Feedback
n°1567696
Dumbledore
Posté le 31-05-2007 à 10:36:02  profilanswer
 

tee est censé écrire tout se qu'il reçoit sur son entrée standard vers la sortie standard et simultanément vers un fichier
 
cat test | tee outfile      <= sous Linux, ça marche
et vu que la version de tee fourni dans cygwin est la même...
 
Sinon, au pire, ça doit pas être compliqué à réécrire en C sous windows
 
Sinon, y a ptêt moyen de faire des boucles en bash ? Et tu fais un truc du genre :
pour chaque ligne du fichier
   écrire ligne sur la sortie standard
   écrire ligne dans le fichier de sortie
fin pour
 
Sinon, vu que maintenant, tu dispose de bash avec cygwin, tu lance tout ton bazard dans bash.


Message édité par Dumbledore le 31-05-2007 à 10:38:44

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Comment envoyer le résultat vers un fichier et garder à l'écran ?

 

Sujets relatifs
Requête sur un fichier déjà en cache avec Opera via XMLHttpRequestAide pour la creation d'un fichier .bat
Envoyer un formulaire sans passer par le mail ?pdf vers fichier image
[PHP] Extraire un fichier zip[C#][ASP.NET1.1]Exporter datagrid vers un fichier excel ou word
[RESOLU]Récupération des données d'un fichier .txtManipuler un simple fichier texte ?!
Plus de sujets relatifs à : Comment envoyer le résultat vers un fichier et garder à l'écran ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR