Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Télécharger en FTP depuis un Batch

14/03/2020
FTP Batch

Si vous avez besoin de télécharger régulièrement les fichiers d'un répertoire, voici un script Batch qui répond à ce besoin. Il s'appuie sur le logiciel WinSCP, qui permet d'interagir avec un FTP directement en ligne de commande (la commande ftp.exe de Windows peut aussi le faire mais elle est à présent obsolète car elle ne permet pas la discussion en mode passif, ce qui est bloquant quand on a un pare-feu ou un routeur).

Il faut au préalable : 

  • préciser en début de script l'IP du serveur, l'identifiant de connexion et le mot de passe.
  • préciser les répertoires distant et local
  • avoir le fichier winscp.exe dans le même répertoire que ce fichier BAT

Le script est prévu pour télécharger tous les fichiers Gzip du répertoire FTP et assurer une purge automatique des fichiers déjà récupérés.

REM Télécharge fichiers FTP
REM Eric Quillévéré - 02/2020
REM
REM Attention : si un problème de droit survient (impossibilité pour WinSCP de remplacer un fichier), il n'y a aucune alerte
@echo Off
cls
set "NB_FICHIERS_CONSERVES=14"
set "FTP_SERVEUR=10.0.0.0"
set "FTP_IDENTIFIANT=mon_ident"
set "FTP_MDP=mon_mdp"
 
set "FTP_REP_DISTANT=/var/sauvegardes/appli1"
set "FTP_REP_LOCAL=D:\Sauvegardes\appli1"
CALL :telecharge
 
set "FTP_REP_DISTANT=/var/sauvegardes/appli2"
set "FTP_REP_LOCAL==D:\Sauvegardes\appli2"
CALL :telecharge
:fin
EXIT /B

:telecharge

   echo Telecharge nouveaux fichiers de %FTP_REP_LOCAL%
   winscp.exe /command ^
      "open ftp://%FTP_IDENTIFIANT%:%FTP_MDP%@%FTP_SERVEUR%" ^
      "get -preservetime -neweronly -filemask=*.gz %FTP_REP_DISTANT%/* %FTP_REP_LOCAL%" ^
       "exit"
   CALL :purge
   exit /b

:purge

   echo Supprime anciens fichiers de %FTP_REP_LOCAL%
   for /f "skip=%NB_FICHIERS_CONSERVES% eol=: delims=" %%F in ('DIR "%FTP_REP_LOCAL%\*.gz" /b /o-d') do (
      echo - Suppression de %FTP_REP_LOCAL%\%%F
      @del "%FTP_REP_LOCAL%\%%F"
      )
   exit /b
Dernière modification le 14/03/2020 - Quillevere.net

Rechercher sur le site

rss RSS info Informations