Bonjour,
Je rencontre des problèmes avec un script qui me permet de récupérer des fichiers "*.txt" sur différents postes et de les rassemblés sur un même serveur.
Je les rassemble dans un même dossier et selon leur provenance dans des sous dossier et les envois sur un FTP.
Ex : PC1 (*.txt) --> Serveur : Dossier "Log\PC1"
PC2 (*.txt) --> Serveur : Dossier "Log\PC2"
Ainsi voici mes scripts :
=> "Recup.bat" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 set AA=%date:~-2% set MM=%date:~3,2% set JJ=%date:~0,2% set date_amj=%AA%MM%JJ% set batch="e:\Batch\recup" set data="e:\data\Donnees" set log="e:\data\LOGS\recup.log" echo ------------- Début procedure : RECUP ----------- >> %log% echo %date% %time% >> %log% cd %batch% call RECUP_USE.bat "\\192.168.1.2\D$" 12345 Administrateur %date_amj% call RECUP_USE.bat "\\192.168.1.2\D$" 12345 Administrateur %date_amj% call RECUP_USE.bat "\\192.168.1.2\D$" 12345 Administrateur %date_amj% call RECUP_USE.bat "\\192.168.1.2\D$" 12345 Administrateur %date_amj% dir %data%\*.txt >> %log% call Envoi_FTP.bat move %DATA%\*.txt %DATA%\old >> %log% echo Traitement terminé >> %log% exit=> "RECUP_USE.bat" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 set batch="e:\Batch\recup" set data="e:\data\Donnees" set log="e:\data\LOGS\recup.log" Net use y: /delete /Y >> %log% Net use y: %1 %2 /USER:%3 Copy y:\travail\Data\poste*.txt %data%\Data >> %log% move y:\travail\Data\poste*.txt y:\travail\Data\old >> %log% Net use y: /delete /Y >> %log% exit
==> "Envoi_FTP.bat" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 set AA=%date:~-2% set MM=%date:~3,2% set JJ=%date:~0,2% set date_amj=%AA%%MM%%JJ% set batch="e:\Batch\recup" set data="e:\data\Donnees" set log=" e:\data\LOGS\envoi_FTP.LOG" set tools="e:\Ddata\Tools" echo %date% %time% ------ Envoi des fichiers ---- >>%log% echo "==> Envoi des fichiers" >> %log% e: cd e:\data\Donnees echo "==> Emission des fichiers par FTP" >> %log% %tools%\psftp -v -l envoi -pw password 80.1.2.3 -P 28 -b %batch%\envoi_OUT.cde >>%log% Net use z: /delete /Y echo -------------------------------------------------------------------------- >>%log%==> "Envoi_out.cde" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 lcd "e:\data\Donnees" cd ../poste1 mput poste1.txt cd ../poste2 mput poste2.txt cd ../poste3 mput poste3.txt cd ../poste4 mput poste4.txt bye quit
Le script fonctionne bien dans l'ensemble, c'est-à-dire qui récupère les fichiers sur les différents postes, les copie sur le serveur puis les envois pas sur le serveur FTP dans les dossiers correspondant à chaque poste.
Poste 1 (poste1.txt) => Serveur => (ftp) => "\Log\Poste1"
Poste 2 (poste2.txt) => Serveur => (ftp) => "\Log\Poste2"
Poste 3 (poste3.txt) => Serveur => (ftp) => "\Log\Poste3"
Mais mon problème et que lorsqu'un poste est indisponible, aucun fichier n'est récupérer (ex : poste2) alors lors de l'envoi FTP le transfert s'arrête net au fichier manquant et ne continue pas après.
J'aimerai donc pouvoir forcer le script à continué à copier sur le FTP sans tenir compte de l’absence de certain fichier.
Comment puis-je faire ?
Merci d’avance de votre aide,
Cordialement,
Ptitsnake.
Partager