[Résolu] Batch FTP avec pb de Date

Batch FTP avec pb de Date [Résolu] - Shell/Batch - Programmation

Marsh Posté le 31-03-2006 à 10:50:54    

Bonjour,
 
alors voila, je veux récupérer chaque jour un fichier sur une machine UNIX par ftp mais ce fichier à un nom différent chaque jour logAAMMJJ.
j'ai fait un batch pour ouvrir une connexion ftp avec un fichier texte pour les instruction ftp. C'est dans ce fichier texte que je ne parviens pas à changer la date en auto.
 
je me demande si on est obligé d'avoir les instruction ftp dans un fichier txt distinct car il est simple de travailler les date en batch.
ou alors
Existe-il une commande date en ftp comme en batch et la possibilité d'extraire des sous chaines.
Merci pour votre aide.


Message édité par garg@mel le 31-03-2006 à 15:02:32
Reply

Marsh Posté le 31-03-2006 à 10:50:54   

Reply

Marsh Posté le 31-03-2006 à 11:30:28    

Tu écris en batch un script qui génère le script ftp pour chaque jour et dans ce même batch, tu appelles ton client ftp.
 
Pas possible de le faire directement en ftp.

Reply

Marsh Posté le 31-03-2006 à 11:31:37    

futé comme astuce, je m'en vais de ce pas faire les essais. je te tiens au courant.

Reply

Marsh Posté le 31-03-2006 à 12:07:13    

Salut à tous, mon script marche nickel, je le posterais une fois fini si ca peut servir à d'autre.
Avant ca juste une dernière ptite question
Comment récupérer les sorties standart (d'erreur ou de réussite de mes commande ftp).
Je veux pouvoir tracer dans un fichier le log le pourquoi de si ca ne marchait pas un jour?
merci

Reply

Marsh Posté le 31-03-2006 à 12:18:04    

Essaie :
 
ftp mon_script>>log 2>&1

Reply

Marsh Posté le 31-03-2006 à 12:26:15    

wackevat a écrit :

Essaie :
 
ftp mon_script>>log 2>&1


je comprend pas bien la commande mais quand je fais
 
ftp mon_script ma_machine>>Nom du fichier de log>&1
 
j'ai l'erreur Le handle n'a pas pu être dupliqué lors de la redirection du handle 1.

Reply

Marsh Posté le 31-03-2006 à 13:20:01    

Il te manquait un espace et le chiffre 2 avant &1
1 = stdout
2 = stderr
 
La redirection >> fichier 2>&1 redirige stderr vers stdout puis redirige le tout vers fichier.

Reply

Marsh Posté le 31-03-2006 à 15:00:24    

Bonjour à tous et un grand merci à nglechau.
 
Voici mon script terminé

cd j:\ftpDATA
 
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET DATE=%%B
set jour=%DATE:~0,2%
set mois=%DATE:~3,2%
set annee=%DATE:~8,2%
set datej=%ANNEE%%MOIS%%JOUR%
ECHO ##############################################################>>log.txt
ECHO #                    TRANSFERT DU %datej%                    #>>log.txt
ECHO ##############################################################>>log.txt
ECHO user root mdp >> ftpReport.txt
ECHO lcd "I:\DATATRSF" >> ftpReport.txt
ECHO cd /home/DATATRSF>> ftpReport.txt
ECHO asc >> ftpReport.txt
 
ECHO get FILE1_%datej% >> ftpReport.txt
ECHO get FILE2_%datej% >> ftpReport.txt
ECHO get FILE3_%datej% >> ftpReport.txt
ECHO get FILE4_%datej% >> ftpReport.txt
ECHO get FILE5_%datej% >> ftpReport.txt
ECHO get FILE6_%datej% >> ftpReport.txt
 
ECHO quit >> ftpReport.txt
 
ftp -i -n -s:J:\ftpDATA\ftpReport.txt host>>log.txt 2>&1
 
rm ftpReport.txt
ECHO ##############################################################>>log.txt
ECHO #                  FIN TRANSFERT DU %datej%                  #>>log.txt
ECHO ##############################################################>>log.txt


 
Cela me permer de récupérer sur un dossier de travail les fichiers généres automatiquement chaque jour sur une machine UNIX

Reply

Sujets relatifs:

Leave a Replay

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