Proste powiadamianie o zmianach na serwerze FTP

Poniżej przedstawiam dosyć prymitywny sposób sprawdzania, czy na serwerze FTP pojawiły się nowe pliki. Działa, jednak nie ma obsługi błędów i nie wykryje zmian w głęboko w strukturze katalogów serwera. Dlatego proszę to potraktować tylko jako przykład niektórych rozwiązań, ewentualnie punkt wyjścia do stworzenia czegoś lepszego.

mv plik.log plik.old
ftp -i -n -s:polecenia.txt | findstr rw > plik.log
echo n| comp plik.old plik.log
if not %errorlevel%==0 start plik.mp3

Ten skrypt ma być uruchamiany przez zaplanowane zadania i ma sprawdzać, czy na serwerze ftp były jakieś zmiany na liście plików i katalogów. Lista plików jest zapamiętywana w pliku plik.log. Na początku zmieniamy mu nazwę żeby zrobić miejsce dla nowego pliku. Pobieramy go logując się na serwer FTP za pomocą standardowego polecenia ftp i wydając komendę dir. findstr ma za zadnie odfiltrować nagłówki i inne rzeczy, które są wyświetlane ale nie należą do listy plików. Następnie comp porównuje obecną listę plików z poprzednią. Jeśli zostanie wykryta różnica odtwarzany jest plik MP3. Do kompletu zawartość pliku polecenia.txt:

open twój.serwer.ftp.pl
literal user użytkownik
literal pass hasło
dir
bye