Aller au contenu principal

WinSCP - Télécharger récursivement les fichiers d'une extension donnée

Apprenez à utiliser la fonction de scripting de WinSCP pour télécharger récursivement les fichiers d'une extension spécifique (comme .php) depuis votre serveur FTP/SFTP. Avec un exemple de script simple.

· 2 minutes de lecture
Voir la source
Christophe
Amoureux de Markdown, WSL et Docker ~ Curieux insatiable.
Cet article existe aussi en anglais — lire la version originale.

Traduction automatique

Cette traduction a été produite par une IA. Elle peut contenir des contresens ou des maladresses, en particulier sur les termes techniques. En cas de doute, consultez l'article de référence en anglais — c'est lui qui fait foi.

Cet article a plus d'un an, mais il a été relu le 30 juillet 2026 — son contenu est toujours exact.

WinSCP - Télécharger récursivement les fichiers d'une extension donnée

⚡
TL;DR

Cet article partage un script d'automatisation WinSCP qui télécharge récursivement tous les fichiers correspondant à une extension donnée (par ex. .php) depuis un serveur FTP/SFTP distant vers un dossier local, lancé via winscp.com /script=... — pratique pour récupérer un type de fichier précis sur tout un site et l'analyser en local.

Le client FTP WinSCP prend en charge le scripting, comme on peut le lire sur https://winscp.net/eng/docs/guide_automation.

Dans une vie antérieure, j'ai souvent eu besoin de télécharger un certain type de fichier : me connecter à un serveur FTP et récupérer les fichiers PHP en local pour les analyser.

Tout télécharger juste pour y faire une recherche est parfois exagéré : Cherchez sur votre serveur FTP à la vitesse de l'éclair fait la recherche sur le serveur. Et une fois les fichiers en local, jakzal/phpqa vous donne tous les outils d'analyse PHP sans rien installer.

Comme WinSCP permet l'automatisation, il est facile d'écrire un petit script pour faire exactement ça.

À titre d'exemple, nous allons donc télécharger tous les fichiers .php d'un host.

Le script​

Le script est plutôt simple, si vous voulez bien me croire :

lcd "c:\temp"
open ftp://USERNAME:PASSWORD@HOST_OR_IP/
cd /public_html
option transfer ascii
get -filemask:*.php *
close
exit

Ce script WinSCP change le répertoire local vers c:\temp, se connecte à un serveur FTP avec les identifiants fournis, navigue vers le dossier /public_html, configure le mode de transfert en ASCII, télécharge tous les fichiers PHP, puis ferme la connexion et quitte.

Comment l'utiliser​

  1. Sauvegardez le script ci-dessus sous, par exemple, C:\temp\download.txt
  2. Éditez le script et apportez ces modifications :
    1. L'endroit où les fichiers doivent être téléchargés, le dossier local (ligne lcd "c:\temp")
    2. Si besoin, remplacez ftp par sftp
    3. USERNAME : le nom d'utilisateur FTP
    4. PASSWORD : le mot de passe associé à ce compte
    5. HOST_OR_IP : le nom d'host FTP ou son IP
    6. Le dossier distant depuis lequel les fichiers doivent être téléchargés (ligne cd /public_html)
    7. L'extension de fichier à télécharger (si ce n'est pas .php) (ligne get -filemask:*.php *)
    8. Sauvegardez le script
  3. Ouvrez une session DOS
  4. Lancez cd c:\temp
  5. Lancez winscp.com depuis là : tapez "C:\Program Files (x86)\WinSCP\WinSCP.com" /script="c:\temp\download.txt"

Si tout est correctement configuré, WinSCP ouvrira une session terminal et commencera à télécharger chaque fichier .php trouvé dans votre dossier distant (sous-dossiers inclus).


Cet article vous a-t-il été utile ?
Avez-vous suivi les étapes de cet article ?