Come automatizzare i caricamenti FTP dalla riga di comando di Windows
Windows ha incluso i file batch da prima che esistessero ... i file batch sono veramente vecchi! Vecchio o meno, mi trovo ancora spesso a creare file batch per aiutarmi ad automatizzare le attività più comuni. Un'attività comune è il caricamento di file su un server FTP remoto. Ecco il modo in cui mi sono aggirato.
Innanzitutto, dovrai creare un file chiamato fileup.bat nella tua directory di Windows, o almeno all'interno di una directory inclusa nel tuo percorso. È possibile utilizzare il comando "percorso" per vedere qual è il percorso corrente.
All'interno del file batch, dovrai incollare quanto segue:
@ spegnere
echo user MyUserName> ftpcmd.dat
echo MyPassword >> ftpcmd.dat
echo bin >> ftpcmd.dat
echo put% 1 >> ftpcmd.dat
echo quit >> ftpcmd.dat
ftp -n -s: ftpcmd.dat SERVERNAME.COM
del ftpcmd.dat
Dovrai sostituire MyUserName, MyPassword e SERVERNAME.COM con i valori corretti per il tuo server ftp. Quello che sta facendo questo file batch è lo scripting dell'utilità ftp che utilizza l'opzione -s per l'utilità della riga di comando.
Il file batch utilizza il comando "echo" per inviare il testo al server ftp come se lo aveste digitato. Nel mezzo del file è possibile aggiungere comandi extra, in particolare un comando change directory:
echo cd /pathname/>>ftpcmd.dat
Per chiamare questo file batch, chiamerai il file batch usando il nome fileup.bat che gli abbiamo dato e passerai il nome di un file come parametro. Non è necessario digitare la parte .bat del nome file per farlo funzionare.
Esempio:
> fileup FileToUpload.zip
Collegato a ftp.myserver.com.
220 Servizio FTP Microsoft
ftp> utente myusername
331 Password richiesta per myusername.230 Utente myusername loggato.
ftp> bin
200 Tipo impostato su I.
ftp> metti FileToUpload.zip
200 comando PORT riuscito.
150 Apertura della connessione dati in modalità BINARY per FileToUpload.zip
226 Trasferimento completato.
ftp: 106 byte inviati in 0,01 secondi, 7,07Kbytes / sec.
ftp> esci
E questo è tutto ciò che c'è da fare. Ora il tuo file dovrebbe essere seduto sul server remoto.