Problème création de fichier

Problème création de fichier - Shell/Batch - Programmation

Marsh Posté le 25-07-2007 à 15:41:16    

Bonjour,  
 
Je débute en bash .bat et je rencontre un problème étrange.
J'ai le fichier 1.bat suivant :  

Code :
  1. @echo off
  2. echo.>toto.txt
  3. echo #  Nom du login de l'utilisateur  >>toto.txt
  4. echo Login=TESTJER>>toto.txt
  5. echo.>>toto.txt
  6. echo #  Paramètre indiquant l'adresse http du serveur web distant >>toto.txt
  7. echo ServeurHTTP = http://www.toto.com>>toto.txt
  8. echo.>>toto.txt
  9. echo #  Intervalle de temps entre chaque scan (en ms) >>toto.txt
  10. echo IntervalleScan=1000>>toto.txt
  11. echo.>>toto.txt
  12. echo #  Fréquence de purge des fichiers logs (en jour) >>toto.txt
  13. echo FreqPurgeLogs=1>>toto.txt
  14. echo.>>toto.txt
  15. echo #  Fréquence de purge des fichiers archives (en jour) >>toto.txt
  16. echo FreqPurgeArchives=30>>toto.txt
  17. echo.>>toto.txt
  18. echo #  Nom du répertoire à scanner >>toto.txt
  19. echo RepertoireScan=S:/>toto.txt
  20. echo #  Loguer sur la console : OUI, NON  >>toto.txt
  21. echo LogConsole=OUI>>toto.txt
  22. echo.>>toto.txt
  23. echo #  Paramètres du serveur de proxy >>toto.txt
  24. echo ProxyServeur=>>toto.txt
  25. echo ProxyPort=>>toto.txt
  26. echo ProxyLogin=>>toto.txt
  27. echo ProxyPassword=>>toto.txt
  28. @echo on


 
Lorsque j'exécute le fichier 1.bat, j'obtiens en sortie le fichier toto.txt suivant :  
 

Code :
  1. #  Nom du login de l'utilisateur 
  2. Login=TESTJER
  3. #  Paramètre indiquant l'adresse http du serveur web distant
  4. ServeurHTTP = http://www.toto.com
  5. #  Intervalle de temps entre chaque scan (en ms)
  6. IntervalleScan=1000
  7. #  Fréquence de purge des fichiers logs (en jour)
  8. FreqPurgeLogs=
  9. #  Fréquence de purge des fichiers archives (en jour)
  10. FreqPurgeArchives=30
  11. #  Nom du répertoire à scanner
  12. RepertoireScan=S:/
  13. #  Loguer sur la console : OUI, NON 
  14. LogConsole=OUI
  15. #  Paramètres du serveur de proxy
  16. ProxyServeur=
  17. ProxyPort=
  18. ProxyLogin=
  19. ProxyPassword=


 
Tout semble bon, sauf en plein milieu on a

Code :
  1. FreqPurgeLogs=

Alors qu'on devrait avoir

Code :
  1. FreqPurgeLogs=1


 
De plus si je mets

Code :
  1. echo FreqPurgeLogs=10>>toto.txt

J'obtiens bien

Code :
  1. FreqPurgeLogs=10


 
Si quelqu'un comprends pourquoi, merci de m'éclairer !

Reply

Marsh Posté le 25-07-2007 à 15:41:16   

Reply

Marsh Posté le 25-07-2007 à 17:22:11    

Il doit prendre "1" comme un mot clé réservé, genre l'entrée ou la sortie standard, ou un truc de ce genre. Essaie en mettant des "" autour, ou des '', ou un \ devant...

Reply

Marsh Posté le 25-07-2007 à 21:14:21    

Reply

Marsh Posté le 26-07-2007 à 09:18:22    

Citation :

Le 1 est interprété comme étant un descripteur de fichier pour la redirection, il correspond à STDOUT.
Il faut insérer un espace avant les chevrons:
 
echo TYPE=1 >>%myfile%
 
Jean-Pierre.


 
Cette solution que tu donnes dans l'autre discussion ne fonctionne pas, l'espace est quand même repris dans le fichier de sortie. Or c'est justement me problème que ça me posait au début (j'avais mis des espace partout avant les chevrons)

Reply

Marsh Posté le 26-07-2007 à 09:49:10    

Tu pourrais contourner le problème avec la méthode suivante :
 

(
   echo #  Fréquence de purge des fichiers logs (en jour)
   echo FreqPurgeLogs=1
   echo.
) >toto.txt


 
Jean-Pierre.

Reply

Marsh Posté le 26-07-2007 à 11:27:29    

C'est ce que j'ai trouvé entre temps.
Merci quand même de ta réponse ! :)
 
Je ne connaissais pas ce genre d'écriture, mais c'est bien pratique pour créer des fichiers.

Reply

Sujets relatifs:

Leave a Replay

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