être avertie par mail / batch

Bonjour,

je suis apprentie dans une entreprise, nous avons un petit site de forum ou les clients peuvent poster des messages et mettre des fichiers en lignes.
A chaque nouveaux fichiers je veux que je sois avertie par mail, je sais comparer un fichier, je sais envoyer un fichier texte par mail mais je ne sais pas être avertie par mail en cas de nouveau fichier sur le FTP du site
Est ce que quelqu'un peut m'aider SVP ?
PS: et tout ça par un script en batch

merci d'avance

11 réponses

  1. Contributeur
    hello
    est-ce que tu as accès au répertoire dans lequel arrive les fichiers ?
    1. Contributeur
      pour savoir si il y a nouveau fichier, il faut comparer la liste des fichiers du répertoire FTP régulièrement pour vérifier si il y a un nouveau.
      sinon as-tu accès aux fichiers autrement ?
      1. sinon je peux créer des fichiers et répertoires pour les tests.
        Sans accéder au FTP je ne peux pas ?
        1. Contributeur
          pour des tests ok mais sans accéder au FTP comment savoir que de nouveaux fichiers sont arrivés par FTP
          tu connais les commandes/scripts .bat/DOS ?
          1. salut,

            hoo pas bête, moi qui cherchait le script sans accéder au FTP, je pense que je n'ai pas le choix, ou j'attends mon tuteur ou bien je cherche des scripts et je les tests avec mon tuteur :/
            1. Contributeur
              ce script teste toute les 60s si il y a un nouveau fichier dans repertoire et affiche un message
              @echo off
              
              set repertoire=.
              set delai=60
              set liste1=%TEMP%\liste1-%RANDOM%
              set liste2=%TEMP%\liste2-%RANDOM%
              
              setlocal enableDelayedExpansion
              dir /b %repertoire% > %liste1%
              :b12
              ping -n %delai% 127.0.0.1 > NUL
              dir /b %repertoire% > %liste2%
              echo n | comp %liste1% %liste2% > NUL 2>NUL
              if %errorlevel%	EQU 0 (
              	rem echo pas de nouveau fichier
              ) else (
              	set nom=
              	for /f "delims=" %%a in ('type %liste2%') do (
              		findstr "%%a" %liste1% > NUL
              		set err=!errorlevel!
              		if !err! EQU 1 set nom=!nom! %%a
              	)
              	if not "!nom!" == "" (
              rem Arrive ici si il y a un nouveau fichier
              		echo nouveau fichier !nom!
              	)
              )
              copy /y %liste2% %liste1% >NUL 2>NUL 
              goto b12
              
              1. Contributeur
                Presque l'algorithme que je lui avais donné :-)
                Mais le tiens est bien mieux détaillé, elle n'aura presque plus rien à faire ;-)
            2. désolée si j'ai posté 2 fois le même message, je voulais le posté dans " programmation" et je ne savais pas supprimer le double.

              je vais essayer ce script, il est très complet :)
              merci beaucoup, je vous tiens au courant

              à bientôt
              1. Bonjour,

                désolée pour le retard, mon tuteur s'est absenté un moment.
                j'ai montré le script de Dubcek à mon tuteur, ce script n'envoie pas de notification par mail lors d'un nouveau fichier sur le FTP.

                Alors je sais comment envoyer un mail en batch, mais je ne le sais pas associer à ce script.
                voici mon script pour un envoie de mail simple:

                telnet mail.isthma.fr 25
                HELO serveur.fr
                MAIL FROM: test@test.fr
                RCPT TO: client@test.fr
                DATA
                Subject: test message
                This is a test message you will not see a response from this command.
                .
                QUIT

                PS: ce script marche très bien.
                1. Contributeur
                  dans le script, il faut remplacer la ligne
                  echo nouveau fichier !nom!

                  par tes commandes ou l'appel à ton script