Téléchargement automatisé de fichiers sur FTP et envoi de fichiers par e-mail. Comment télécharger des fichiers depuis FTP à partir de la ligne de commande Windows Fichier batch pour télécharger des fichiers depuis FTP

Le protocole FTP est l'un des protocoles réseau couramment utilisés par les internautes. L'écrasante majorité des gens utilisent divers clients FTP pour télécharger quoi que ce soit à partir de serveurs FTP. Mais peu de gens savent que Windows vous permet de vous connecter aux serveurs FTP à partir de la ligne de commande.

Dans cette astuce, vous apprendrez comment télécharger des fichiers à partir de serveurs FTP à l'aide de simples commandes DOS.

Instruction étape par étape:

Pour télécharger le fichier depuis FTP à partir de la ligne de commande Chaînes Windows , effectuons quelques étapes simples :

  1. Ouvrez l'invite de commande Windows en cliquant sur Démarrer - Exécuter, en tapant cmd et en appuyant sur Entrée.
  2. Exécutez la commande suivante : Grâce à cette commande, nous nous connecterons au serveur FTP de Microsoft.
  3. Entrez le nom d'utilisateur anonyme. Le serveur de cette entreprise bien connue permet à des utilisateurs anonymes de se connecter :
  4. Saisissez votre e-mail comme mot de passe (vous pouvez en saisir un qui n'existe pas) :
  5. Félicitations pour votre connexion réussie !
  6. Afin de voir quels fichiers et répertoires sont disponibles sur le serveur ftp, entrez la commande dir :
  7. En conséquence, nous obtenons une liste de fichiers et de répertoires situés sur le serveur FTP :
  8. Pour accéder au répertoire requis, utilisez la commande cd :
  9. Le message « 250 commande CWD réussie » indiquera que nous avons réussi à nous déplacer vers le répertoire dont nous avons besoin :
  10. Pour télécharger le fichier dont nous avons besoin, entrez la commande get et le nom du fichier téléchargé :
  11. Après avoir reçu le fichier avec succès, le système nous informera :
  12. Pour quitter le serveur FTP et vous en déconnecter, exécutez la commande bye :

Beaucoup diront peut-être qu'il est beaucoup plus pratique de télécharger des fichiers à l'aide de gestionnaires de téléchargement multifonctionnels ou de clients FTP. Mais si nécessaire (ou comme alternative), vous pouvez utiliser de simples Commandes DOS cela vous permettra télécharger des fichiers depuis FTP sans frais supplémentaires.

Pour vous connecter à un serveur FTP, il n'est pas nécessaire d'utiliser des programmes tiers - cela peut être fait à l'aide des fonctionnalités Windows standard. Pour ce faire, vous pouvez utiliser la ligne de commande CMD. Mais pour gérer le serveur via des fonctionnalités standard système opérateur, vous devrez étudier les commandes disponibles, puisque CMD n'a pas d'interface visuelle. Dans cet article, vous apprendrez les commandes FTP de base et comment les mettre en pratique.

Pourquoi est-il préférable de télécharger le client plutôt que d’utiliser CMD ?

Si la ligne de commande CMD vous permettait d'effectuer toutes les opérations disponibles sur les serveurs FTP, vous n'auriez peut-être pas besoin de clients. Mais la réalité est que la gamme CMD est très limitée en termes de gestion de serveur. Par conséquent, il est préférable de trouver une opportunité et de télécharger sur votre ordinateur un utilitaire permettant de gérer le serveur via FTP. Par exemple, téléchargez le programme client FileZilla sur votre PC - il peut être téléchargé gratuitement sur le site officiel des développeurs. L'installation ne prendra pas beaucoup de temps. Et pour vous connecter au serveur, il vous suffira de saisir votre login, votre mot de passe et votre nom d'hôte dans la ligne requise. C'est beaucoup plus difficile de faire cela via CMD.

L'inconvénient spécifique de la gamme CMD est que vous ne pourrez même pas passer en mode passif lorsque vous êtes sur le serveur. Et sans ce mode, vous ne pourrez pas échanger de fichiers avec des serveurs FTP fonctionnant via NAT.

En fait, il s’agit d’un très gros défaut de CMD. Par conséquent, acceptez le fait que la ligne de commande Windows ne convient qu'aux manipulations internes. système de fichiers sans échange de données. Cependant, pour ceux qui utilisent un serveur FTP pour un travail de routine et monotone, la ligne de commande peut sembler très pratique. Mais il est préférable d'essayer à la fois le client et CMD pour tirer des conclusions.

Quelles sont les commandes pour gérer FTP dans l’invite CMD ?

Pour commencer, lancez la ligne de commande. Vous pouvez le faire en recherchant dans Démarrer - recherchez le fichier cmd.exe et ouvrez-le, après quoi la ligne sera lancée.

Pour vous connecter au serveur, vous devez utiliser la commande OPEN. Après cette commande, vous devez saisir l'adresse IP ou le nom d'hôte avec lequel vous souhaitez établir une connexion. Après avoir saisi cette demande, vous pourrez vous connecter au serveur. Cela peut être fait à l'aide de la commande USER, qui effectue une demande d'authentification via le login saisi. Ensuite, vous devez entrer la commande PASS, qui signifie mot de passe. Lorsque vous entrez votre mot de passe et appuyez sur « Entrée », vous serez autorisé sur le serveur.

En général, la ligne de commande ne convient que pour « surfer » sur le serveur, déplacer des fichiers, etc. Tout d'abord, vous devrez voir les fichiers qui se trouvent sur le serveur. Pour ce faire, utilisez la commande LS. Puisqu'il n'y a pas de curseur sur la ligne de commande, vous devez sélectionner un répertoire ou un fichier à l'aide de commandes spéciales. Utilisez pour cela la ligne CD ou LCD - le premier est nécessaire pour modifier l'objet actuel sur l'ordinateur distant et le second est nécessaire pour l'objet local, c'est-à-dire pour votre PC.

Bien que vous ne puissiez pas télécharger vos fichiers sur le serveur FTP via CMD, il est possible de télécharger des données sur votre ordinateur. Pour ce faire, utilisez la commande GET. Tout d'abord, écrivez la commande GET avec le nom du fichier, puis indiquez quel répertoire de votre ordinateur est celui actuel, afin que le serveur transfère les données vers ce dossier exact.

Ces commandes sont utilisées le plus souvent. Autrement dit, la plupart des utilisateurs gèrent le serveur via CMD afin de télécharger rapidement des fichiers sans installer au préalable le client. Mais vous pouvez aller beaucoup plus loin et utiliser d'autres commandes sur le serveur à l'aide de l'invite CMD. Par exemple, vous pouvez ajouter un signal d'achèvement de commande au serveur à l'aide de la chaîne BELL.

Si vous souhaitez mettre fin à la session et quitter la ligne de commande et le serveur, entrez BYE. Et pour interrompre la connexion de contrôle uniquement sur le serveur, afin de rester dans la ligne de commande, écrivez CLOSE. Dans ce cas, les fichiers que vous téléchargez sur votre PC depuis le serveur continueront à être téléchargés et une fois le téléchargement terminé, la session sera complètement fermée.

En utilisant CMD, vous pouvez facilement manipuler les répertoires sur le serveur. Par exemple, pour supprimer le répertoire spécifié, utilisez la commande DELETE. Pour qu'une liste de fichiers dans un dossier spécifique apparaisse à l'écran, entrez DIR et le chemin d'accès au répertoire. Si vous souhaitez supprimer non pas un dossier ou un fichier, mais plusieurs à la fois, utilisez la commande MDELETE, c'est-à-dire la suppression multiple. De même, le préfixe « m » peut être utilisé pour d’autres commandes afin que plusieurs actions puissent être combinées en une seule. Ainsi, pour afficher une liste de fichiers dans plusieurs répertoires à la fois, écrivez MDIR, et pour télécharger des lots de données depuis le serveur, utilisez MGET. Mais ne confondez pas la multi-commande avec un seul MKDIR : elle est nécessaire pour générer un répertoire sur le serveur.

Il est possible que votre serveur FTP fonctionne sans technologie NAT, le mode client passif n'est donc pas nécessaire. Dans ce cas, vous pourrez télécharger certains fichiersà l'hôte. Utilisez la commande MPUT pour télécharger plusieurs fichiers, et PUT si vous souhaitez n'en télécharger qu'un seul.

Une autre commande populaire qui vous sera probablement utile est RENAME. Besoin d'une commande pour renommer les fichiers. Cela sera utile pour ceux qui utilisent le serveur comme stockage des données du site. Vous aurez également besoin de la commande PWD, qui détermine le dossier actuel sur le serveur FTP distant, et non sur votre ordinateur, comme le fait la ligne LCD.

Les commandes suivantes sont une liste partielle des fonctions que vous pouvez utiliser dans FTP. Il y a aussi d'autres équipes. Et vous pouvez les découvrir directement dans la ligne de commande si vous entrez la requête HELP. Après cela, un répertoire apparaîtra avec toutes les commandes CMD disponibles pouvant être utilisées en FTP. Gardez simplement à l’esprit qu’à ce moment vous devez être connecté au serveur, sinon Windows vous proposera un répertoire différent. Et si vous souhaitez demander de l'aide au serveur lui-même, écrivez REMOTEHELP.

Bien sûr, gérer un serveur avec des commandes est une chose de l’âge de pierre. Par conséquent, il vaut mieux ne pas perdre de temps, télécharger un client FTP normal sur votre ordinateur et utiliser le serveur au maximum, et non partiellement. Mais s’entraîner sur la ligne de commande CMD n’a jamais fait de mal à personne !

Je devais envoyer des fichiers de rapport toutes les heures à Serveur ftp et également dupliquer l'envoi de ces fichiers par mail à plusieurs destinataires. Après quelques recherches, j'ai opté pour l'utilitaire intégré ftp.exe (C:\Windows\System32\ftp.exe) et le bon vieux blat. Alors, commençons. Nous devons télécharger tous les fichiers XML du répertoire %dir%\file_export (où %dir% est le chemin d'accès à notre dossier) vers le serveur ftp.server.com toutes les heures.
Nouvelle version en Python

Configuration du téléchargement de fichiers sur FTP

Créer un fichier de commandes pour ftp.exe
Nous créons Document texte(par exemple ftpcomm.txt) on y écrit :
se connecter
mot de passe
entrée cd
binaire

au revoir
Où:
se connecter- connexion au serveur FTP
mot de passe- mot de passe pour le serveur FTP
entrée cd- allez dans le dossier souhaité
binaire- définir la méthode binaire d'envoi de fichiers. Dans ce cas, le fichier n'est pas réencodé lors de la transmission et est enregistré inchangé. C'est le plus manière fiable transfert de fichier.
mput C:\%dir%\file_export\*.xml- copier un ou plusieurs fichiers locaux sur un ordinateur distant en précisant le répertoire
au revoir- fin de session FTP et sortie du serveur FTP
Créez le fichier export.bat
Nous y écrivons :

Où:
C:\WINDOWS\system32\ftp.exe- Chemin d'accès à l'utilitaire ftp.exe
-s:c:\%dir%\ftpcomm.tx t - définissez le chemin d'accès à un fichier texte contenant des commandes FTP, les commandes seront automatiquement lancées après le démarrage de FTP.
-je- désactiver le mode interactif lors du transfert de plusieurs fichiers.
ftp.server.com- entrez l'adresse de notre serveur FTP.
Nous vérifions le travail en exécutant export.bat. Nous voyons que les fichiers ont été téléchargés sur le serveur FTP. Mais ici, un problème se pose : si nous devons télécharger des fichiers une fois par heure, comment pouvons-nous empêcher que les fichiers soient renvoyés ? La solution est triviale :
Ajoutez au fichier export.bat :
cd /d C:\%dir%\file_export\
supprimer *.xml
Où:
cd /d C:\%dir%\file_export\- allez dans le répertoire dans lequel sont stockés les fichiers XML.
supprimer *.xml- supprimez tous les fichiers XML.

Configuration de l'envoi de fichiers vers e-mail

Pour envoyer des fichiers par email, nous utilisons l'utilitaire blat (http://www.blat.net/). Téléchargez et décompressez dans n'importe quel répertoire, dans notre cas c:\%dir\blat/
Fiche d'installation. Appelez la ligne de commande. Sur la ligne de commande, allez dans notre dossier :
cd c:\%dir%\blat/
Nous commençons l'installation de blat (nous enregistrons le profil blat dans le registre, les données sont écrites dans le registre Systèmes Windows au fil : .
blat.exe -installer smtp.yandex.ru [email protected] 3 25 profil [email protected] Votre_Mot de passe
Où:
smtp.yandex.ru- Nom serveur de courrier, par lequel les e-mails seront envoyés.
Nom de la boîte aux [email protected]- le nom de l'expéditeur, qui sera affiché dans le champ.
3 - le nombre de tentatives de renvoi de la lettre en cas d'échec de la connexion au serveur.
25 - Numéro de port du serveur SMTP.
profil- nom de profil.
Nom de la boîte aux [email protected]- nom d'utilisateur qui sera utilisé lors de la connexion au serveur SMTP.
Votre mot de passe- mot de passe utilisé lors de la connexion au serveur SMTP, c'est-à-dire mot de passe de la boîte aux lettres.

Ajout de l'envoi d'emails à export.bat

Dans le fichier export.bat après la ligne
C:\WINDOWS\system32\ftp.exe -s:c:\%dir%\ftpcomm.txt -i ftp.server.com
Nous écrivons:

Où:
-p profil– nom du profil blat (Spécifié lors de l'installation)
-jeu de caractères Windows-1251(Sélectionnez l'encodage Windows)
[email protégé] – adresse du destinataire de la lettre
-sujet "Exportation de fichiers"- Objet de la lettre
-body "Exportation automatique"- Le corps de la lettre
-attacher c:\%dir%\file_export\*.xml– fichiers ou fichier à envoyer
Si vous devez envoyer des courriers vers plusieurs boîtes aux lettres, écrivez alors plusieurs fois cette ligne en indiquant les boîtes aux lettres du destinataire :
blat.exe -p profil -charset windows-1251 -to [email protégé]-subject "Exportation de fichier" -body "Exportation automatique" -attach c:\%dir%\file_export\*.xml
blat.exe -p profil -charset windows-1251 -to [email protégé]-subject "Exportation de fichier" -body "Exportation automatique" -attach c:\%dir%\file_export\*.xml
blat.exe -p profil -charset windows-1251 -to [email protégé]-subject "Exportation de fichier" -body "Exportation automatique" -attach c:\%dir%\file_export\*.xml

Fichier export.bat final

Du coup, on obtient un fichier export.bat dans lequel on a les lignes :
C:\WINDOWS\system32\ftp.exe -s:c:\%dir%\ftpcomm.txt -i ftp.server.com
blat.exe -p profil -charset windows-1251 -to [email protégé]-subject "Exportation de fichier" -body "Exportation automatique" -attach c:\%dir%\file_export\*.xml
cd /d C:\%dir%\file_export\
supprimer *.xml
Dans la première ligne, nous envoyons les fichiers au serveur FTP, dans la seconde, nous envoyons les fichiers par e-mail, puis nous allons dans le répertoire où sont stockés les fichiers et les supprimons.

Envoi de fichiers selon un planning

Permettez-moi de vous rappeler que nous devons envoyer des fichiers toutes les heures, pour cela nous créons une tâche dans le planificateur Windows. Où nous indiquons que nous devons exécuter export.bat une fois par heure.

Conclusion

En conséquence nous avons Système automatisé envoi horaire de fichiers au serveur FTP et par courrier électronique.

Il est souvent nécessaire d'automatiser les processus de téléchargement, de chargement et de suppression de fichiers d'un serveur FTP. Par exemple, lorsque vous travaillez avec des bases de données 1C distribuées ou pour enregistrer copies de sauvegarde. Mais tout le monde ne sait pas que ces procédures peuvent être effectuées depuis la ligne de commande sans recourir à des logiciel, c'est Outils Windows. Ci-dessous, je fournirai la syntaxe de commande pour travailler avec FTP, ainsi que des exemples de fichiers bat pour ces opérations.

Commande 1.ftp

Pour échanger des fichiers avec un serveur FTP, utilisez la commande ftp, voici sa syntaxe :

FTP[-v] [-d] [-i] [-n] [-g] [-s:nom de fichier] [-a] [-A] [-x:sendbuffer]
[-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [nœud]

-v Désactivez l'affichage des réponses d'un serveur distant.
-n Désactivez la connexion automatique lors de la connexion initiale.
-je Désactivation des requêtes interactives lors de l'envoi de plusieurs
des dossiers.
-d Activez le mode débogage.
-g Désactivez la globalisation des noms de fichiers (voir la commande GLOB).
-s:nom du fichier Exercice fichier texte, contenant des commandes FTP qui
sera exécuté automatiquement lorsque vous démarrez FTP.
-un Usage interface locale pour lier la connexion.
-UN Connexion anonyme au service.
-x : envoyer sockbuf Remplacez la taille de tampon par défaut SO_SNDBUF (8192).
-r:recv sockbuf Remplacez la taille de tampon par défaut SO_RCVBUF (8192).
-b : nombre asynchrone Remplacement de la taille du compteur asynchrone par défaut (3)
-w:taille de la fenêtre Remplacez la taille du tampon de transmission par défaut (65535).
nœud Spécifier le nom ou l'adresse IP du nœud distant,
auquel vous souhaitez vous connecter.

Comme vous pouvez le constater, il n'existe aucun opérateur pour se connecter au serveur et travailler avec des fichiers. Le fait est que cette commande démarre uniquement la session FTP :

!
Transition temporaire vers le shell.

ajouter
Ajout au fichier.

ascii
Définition du mode de transfert des fichiers au format ascii.

cloche
Signal sonore lorsque la commande est terminée

binaire
Définissez le mode de transfert de fichiers binaires.

au revoir
Terminez la session FTP et déconnectez-vous.

CD <удаленный_каталог>
Modification du répertoire de travail sur l'ordinateur distant où :
<удаленный_каталог> — le nom du répertoire qui deviendra fonctionnel.

fermer
Fin de la session FTP.

déboguer
Changer de mode de débogage.

supprimer <удаленный_файл>
Suppression d'un fichier sur un ordinateur distant où :
<удаленный_файл> — nom du fichier à supprimer.

répertoire [ <удаленный_каталог> ] [<локальный_файл> ]
Affiche le contenu du répertoire de l'ordinateur distant, où :
<удаленный_каталог>
<локальный_файл>

déconnecter
Fin de la session FTP.

obtenir <удаленный_файл> [<локальный_файл> ]
Obtenir un fichier où :
<удаленный_файл>
<локальный_файл> — nom du fichier sur l'ordinateur local .

globe
Changement de l'extension de métacaractère des noms de fichiers locaux.

hacher
Commute la sortie "#" pour chaque bloc de données transféré.

aide [ <команда> ]
Affichez les informations d'aide pour la commande ftp, où :
<команда> — La commande dont la description sera affichée, si elle n'est pas spécifiée, toutes les commandes seront affichées.

écran LCD [ <локальный_каталог> ]
Modification du répertoire local de l'ordinateur de travail, où :
<локальный_каталог> — Le nom du nouveau répertoire local ; s'il n'est pas spécifié, le nom du répertoire actuel sera utilisé.

littéral <команда_1> … <команда_n>

<команда_n> — commandes à envoyer ;

ls [<répertoire_distant>] [<fichier_local>]
Affiche le contenu abrégé du répertoire de l'ordinateur distant, où :
<удаленный_каталог> — répertoire dont le contenu sera affiché ; s'il n'est pas spécifié, le répertoire courant est utilisé ;
<локальный_файл> — spécifie un fichier local à enregistrer dans la liste ; s'il n'est pas spécifié, la liste est affichée à l'écran.

supprimer<fichier_distant_1> … <fichier_distant_n>
Suppression de plusieurs fichiers sur un ordinateur distant où :
<удаленный_файл_n> — noms des fichiers à supprimer.

mdir<répertoire_distant_1> … <répertoire_distant_n> <fichier_local>
Imprimez le contenu de plusieurs répertoires sur un ordinateur distant, où :
<удаленный_каталог_n> — le répertoire dont le contenu sera affiché ;
<локальный_файл> — spécifie un fichier local à enregistrer dans la liste ; s'il n'est pas spécifié, la liste est affichée à l'écran.

récupérer <удаленный_файл_1> <удаленный_файл_n>
Réception de plusieurs fichiers où :
<удаленный_файл_n> — fichier distant à copier.

mkdir <удаленный_каталог>
Créez un répertoire sur l'ordinateur distant où :
<удаленный_каталог> — nom du répertoire distant à créer.

mls<répertoire_distant_1> ... <répertoire_distant_n> <fichier_local>
Imprimez le contenu raccourci de plusieurs répertoires sur un ordinateur distant, où :
<удаленный_каталог_n> — répertoire dont le contenu sera affiché ; s'il n'est pas spécifié, le répertoire courant est utilisé ;
<локальный_файл> — spécifie un fichier local à enregistrer dans la liste.

mput <локальный_файл_1> … <локальный_файл_n>
Envoi de plusieurs fichiers où :
<локальный_файл_n> — le nom des fichiers locaux qui seront copiés.

rapide
Activer/désactiver l'info-bulle interactive pour les commandes composées.

mettre <локальный_файл> [<удаленный_файл> ]
Envoi d'un fichier, où :
<fichier_local>
<удаленный_файл>

mot de passe
Affiche le répertoire de travail de l'ordinateur distant.

quitter
Terminez la session FTP et revenez à la ligne de commande.

citation <команда>
Envoyez une commande FTP arbitraire, où :
<команда> — commande à envoyer.

recv <удаленный_файл> [<локальный_файл> ]
Récupération d'un fichier à l'aide des paramètres de type de fichier actuels, où :
<удаленный_файл> — fichier distant à copier ;
<fichier_local> — nom du fichier sur l'ordinateur local .

aide à distance [ <команда> ]
Obtention d'informations d'aide sur les commandes sur un système distant, où :
<équipe> — commande du système distant ; si elle n'est pas spécifiée, une liste de toutes les commandes s'affiche.

Renommer <имя_файла> <новое_имя_файла>
Renommer fichier distant, Où:
<nom de fichier> — nom du fichier à renommer ;
<nouveau_nom_fichier> — nouveau nom de fichier.

rmdir <имя_каталога>
Suppression d'un répertoire sur un ordinateur distant où :
<nom_répertoire> — nom du répertoire à supprimer.

envoyer <локальный_файл> [<удаленный_файл> ]
Copiez un seul fichier en utilisant les paramètres de type de fichier actuels, où :
<fichier_local> — nom du fichier local à copier ;
<удаленный_файл> — nom du fichier sur l'ordinateur distant.

statut
Affiche l'état actuel de la connexion FTP.

tracer
Activer le traçage des paquets.

taper [ <имя_типа> ]
Définition du type de transfert de fichiers, où :
<nom_type> — type de transfert de fichier ; s'il n'est pas spécifié, le type de transfert de fichier actuel sera affiché.

utilisateur <имя_пользователя> [<пароль> ] [<учетная_запись> ]
Envoi d'informations pour se connecter ordinateur distant, Où:
<Nom d'utilisateur> — nom d'utilisateur pour se connecter à l'ordinateur distant ;
<mot de passe> — mot de passe pour le nom d'utilisateur spécifié, s'il n'est pas spécifié mais est requis pour la connexion, la commande ftp le demandera à l'utilisateur ;
<Compte> Compte pour se connecter à un ordinateur distant, s'il n'est pas spécifié mais requis pour la connexion, la commande ftp le demandera à l'utilisateur ;

verbeux
Changer le mode de sortie des messages.


Regardons un petit exemple.

Tout d’abord, écrivons un « fichier corps » qui sera téléchargé sur le serveur site web déposer fichier_data.dat depuis " C:\exemple". L'algorithme du fichier bat sera le suivant :

  • Créez un fichier transport.txt avec une séquence d'instructions FTP ;
  • Nous exécutons la commande ftp, en spécifiant le fichier créé comme paramètres ;
  • Supprimez transport.txt.

Dans cet exemple, le nom du fichier et le répertoire sont codés en dur dans le fichier. Ce n'est pas toujours pratique. Modifions le fichier bat pour qu'il reçoive les données à charger en tant que paramètres, et nous mettrons également toutes les valeurs modifiables dans les variables du fichier. On obtient le code suivant () :

Par conséquent, pour copier le fichier fichier_data.dat depuis " C:\exemple" au serveur FTP dans " Temp\Sauvegarde", vous devrez exécuter ce fichier batch, en spécifiant le nom du fichier, les répertoires local et distant comme paramètres.

De la même manière, vous pouvez écrire des fichiers bat pour et sur un serveur FTP, ainsi qu'un fichier exécutable avec un ensemble d'instructions arbitraires.

Cet article vous a t'il aidé?

Publications sur le sujet