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.
Traduction automatique
Cet article a plus d'un an, mais il a été relu le 30 juillet 2026 — son contenu est toujours exact.
Cet article fait partie de la série WinSCP et transfert de fichiers distant :
- KeePass - Remplacer le champ URL
- WinSCP - Récupérer un mot de passe enregistré
- Erreur fatale au démarrage de Putty après avoir sauvegardé les paramètres
- WinSCP - Synchroniser l'host et le serveur distant
- FTP - Supprimer fichiers et dossiers à la vitesse de la lumière
- WinSCP - utilisation avec Visual Basic for Application
- WinSCP - Télécharger récursivement les fichiers d'une extension donnée
- Cherchez sur votre serveur FTP à la vitesse de l'éclair

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
exitCe 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
- Sauvegardez le script ci-dessus sous, par exemple,
C:\temp\download.txt - Éditez le script et apportez ces modifications :
- L'endroit où les fichiers doivent être téléchargés, le dossier local (ligne
lcd "c:\temp") - Si besoin, remplacez
ftpparsftp USERNAME: le nom d'utilisateur FTPPASSWORD: le mot de passe associé à ce compteHOST_OR_IP: le nom d'host FTP ou son IP- Le dossier distant depuis lequel les fichiers doivent être téléchargés (ligne
cd /public_html) - L'extension de fichier à télécharger (si ce n'est pas
.php) (ligneget -filemask:*.php *) - Sauvegardez le script
- L'endroit où les fichiers doivent être téléchargés, le dossier local (ligne
- Ouvrez une session DOS
- Lancez
cd c:\temp - Lancez
winscp.comdepuis 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 fait partie de la série WinSCP et transfert de fichiers distant :
- KeePass - Remplacer le champ URL
- WinSCP - Récupérer un mot de passe enregistré
- Erreur fatale au démarrage de Putty après avoir sauvegardé les paramètres
- WinSCP - Synchroniser l'host et le serveur distant
- FTP - Supprimer fichiers et dossiers à la vitesse de la lumière
- WinSCP - utilisation avec Visual Basic for Application
- WinSCP - Télécharger récursivement les fichiers d'une extension donnée
- Cherchez sur votre serveur FTP à la vitesse de l'éclair


