[batch] saisie param + appel ftp + utilisation ds ftp du param saisi

saisie param + appel ftp + utilisation ds ftp du param saisi [batch] - Shell/Batch - Programmation

Marsh Posté le 03-11-2004 à 14:56:17    

J'ai actuellement un .bat qui me permet d'acceder a du FTP grace aux commandes qui sont ds un fichier .txt. Ce programme me permet de recuperer des logs sur plusieurs serveurs (ça marche nickel).  
Je voudrais maintenant pouvoir saisir un parametre (date au format JJMMAA) afin de dire si je veux la log du jour (monFichier.log) ou celle d'hier par ex (monFichier.log.011104)  
 
Voici les textes du .bat et du .txt :
 
recup_FTP.bat
 

Code :
  1. echo on
  2. cd ../../../recup_FTP
  3. echo ==========================================
  4. echo Date des logs desiree sous la forme JJMMAA
  5. echo (ex : 021104 pour le 2 novembre 2004)
  6. echo ==========================================
  7. set /p DATELOG="Date : "
  8. set RepLog=130
  9. cd %RepLog%
  10. C:\WINDOWS\SYSTEM32\ftp -n -s:new_ftp_130.txt XX.XX.XX.%RepLog%


 
new_ftp_130.txt
 

Code :
  1. user LOGIN
  2. PASSWORD
  3. cd cheminDeMesLogs/log
  4. get monFichier1.log
  5. get monFichier2.log
  6. bye


 
fichier new_ftp_130.txt desire (apres prise en compte du parametre DATELOG du .bat) :
 

Code :
  1. user LOGIN
  2. PASSWORD
  3. cd cheminDeMesLogs/log
  4. get monFichier1.log.DATE
  5. get monFichier2.log.DATE
  6. bye


 
j'ai commencé a mettre en place ds mon .bat le code qui devrait me permettre de boucler sur les X serveurs qui m'interessent, a priori ça devrait ressembler a ça :
 

Code :
  1. for /L %%i in (130,1,137) do
  2.    cd %%i
  3.    C:\WINDOWS\SYSTEM32\ftp -n -s:ftp.txt XX.XX.XX.%%i


 
j'ai pas testé car je prefere attendre d'avoir le reste OK ...
 
donc ma question est la suivante :
Comment obtenir le fichier ftp.txt tout bien comme il faut ?? apparement vu qu'il s'agit de commandes FTP, pas moyen de recuperer la saisie de DATELOG faite en local :sweat: ...
 
Question subsidiaire : ds ma boucle for me permettant de faire le tour des serveurs, comment indiquer qu'on veut ignorer l'element 135 :??:  
 
desolee si mes questions sont un peu neu-neu, mais vraiment, j'ai bcp de mal avec les instructions "DOS" !!!!
 
merci de votre aide,
 
Leti


Message édité par lcarvaja le 03-11-2004 à 14:57:13
Reply

Marsh Posté le 03-11-2004 à 14:56:17   

Reply

Marsh Posté le 03-11-2004 à 16:46:21    

j'ai un petit peu avancé mon pb.  
J'ai créé un 2e .bat qui va en fait traiter la question de la creation a la volee du ftp.txt qui correspond a la date saisie :
 
cmd_ftp.bat :
 

Code :
  1. @echo off
  2. echo user LOGIN
  3. echo.
  4. echo PASSWORD
  5. echo.
  6. echo cd cheminDeMesLogs/log
  7. echo lcd %2     ==> parce que je mets la recuperation ds un repertoire particulier, defini ds le .bat principal sur RepLog
  8. if "%1"=="" goto ajd
  9. echo get monFichier.log.%1
  10. echo bye
  11. exit
  12. :ajd
  13. echo get monFichier.log
  14. echo bye


 
et ds le .bat principal j'ai alors le code suivant :
 

Code :
  1. set /p DATELOG="Date : "
  2. set RepLog=130
  3. call cmd_ftp.bat %DATELOG% %RepLog%>ftp.txt


 
par contre il semblerait que j'arrive pas a lire la ligne suivante qui est :
 

Code :
  1. C:\WINDOWS\SYSTEM32\ftp -n -s:ftp.txt XX.XX.XX.%RepLog%


 
j'ai mis un  
 

Code :
  1. pause>nul


 
pr voir si je passe ds le secteur mais non ... c le CALL qui va pas ???
 
reste encore a m'occuper de cette histoire de boucle avec un element a ignorer ...
 
Leti


Message édité par lcarvaja le 03-11-2004 à 16:46:56
Reply

Sujets relatifs:

Leave a Replay

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