Como automatizar uploads de FTP a partir da linha de comando do Windows
O Windows incluiu arquivos em lote desde antes de existirem… arquivos em lote são realmente antigos! Velho ou não, eu ainda me encontro frequentemente criando arquivos em lote para me ajudar a automatizar tarefas comuns. Uma tarefa comum é enviar arquivos para um servidor FTP remoto. Aqui está a maneira que eu tenho em torno dele.
Primeiro, você terá que criar um arquivo chamado fileup.bat no diretório do Windows, ou pelo menos dentro de algum diretório incluído no seu caminho. Você pode usar o comando "path" para ver qual é o caminho atual.
Dentro do arquivo de lote, você vai querer colar o seguinte:
@echo off
usuário de eco MyUserName> ftpcmd.dat
echo MyPassword >> ftpcmd.dat
echo bin >> ftpcmd.dat
eco colocado% 1 >> ftpcmd.dat
echo quit >> ftpcmd.dat
ftp -n -s: ftpcmd.dat SERVERNAME.COM
del ftpcmd.dat
Você vai querer substituir o MyUserName, MyPassword e SERVERNAME.COM com os valores corretos para o seu servidor ftp. O que esse arquivo em lote está fazendo é criar o script do utilitário ftp usando a opção -s para o utilitário de linha de comando.
O arquivo de lote usa o comando “echo” para enviar texto para o servidor FTP como se você tivesse digitado. No meio do arquivo você pode adicionar comandos extras, potencialmente um comando de diretório de mudanças:
echo cd /pathname/>>ftpcmd.dat
Para chamar esse arquivo em lote, você chamará o batchfile usando o nome fileup.bat que fornecemos e passará o nome de um arquivo como o parâmetro. Você não precisa digitar a parte .bat do nome do arquivo para que funcione..
Exemplo:
> arquivo FileToUpload.zip
Conectado a ftp.myserver.com.
220 Serviço FTP da Microsoft
ftp> usuário myusername
331 Senha requerida para myusername.230 Usuário myusername logado.
ftp> bin
200 Tipo definido como I.
ftp> colocar FileToUpload.zip
Comando PORT 200 com sucesso.
150 Abrindo a conexão de dados do modo BINARY para FileToUpload.zip
226 Transferência concluída.
ftp: 106 bytes enviados em 0.01Segundos 7.07Kbytes / seg.
ftp> quit
E isso é tudo que existe para isso. Agora seu arquivo deve estar no servidor remoto.