Sabe de algum cliente ftp rápido e scriptável para Windows? [fechadas]

1

Eu tenho um script de compilação que usa o windows padrão Ftp.exe para transferir grandes arquivos pelo mundo todas as noites. Leva séculos!

O Filezilla é muito mais rápido, mas não parece ser muito legível.

Alguma sugestão?

    
por Greg Malcolm 31.07.2009 / 20:34

13 respostas

1

Você pode usar o NcFtp que pode ser executado no Windows. Ele implementa um NcFtpPut e um NcFtpGet que funcionam muito bem com scripts.

    
por 31.07.2009 / 21:57
2

A instalação do cygwin seria uma opção? Então você deve ser capaz de usar o bash e um cliente FTP unix (scriptável) a partir da sua caixa do Windows.

    
por 31.07.2009 / 21:06
1

Alguma chance de você poder usar scp em vez de ftp? Eu usei o pscp utilmente em PuTTY e descobri que ele é bastante programável. Putty também inclui um cliente sftp, fwiw.

    
por 31.07.2009 / 21:49
1

Se o Cygwin completo não for uma opção, experimente a versão para Windows cURL .

    
por 31.07.2009 / 23:01
1

O WinSCP faz o sFTP e o FTP.

O script é fácil & bem documentado

    
por 01.08.2009 / 07:20
1

Você também pode experimentar o Script2Cloud no K2SXS.

Suporta quatro linguagens de script orientadas a objetos (C ++, JavaScript, Pascal, Basic) e suporta vários protocolos de transferência de arquivos, incluindo FTP (S), SFTP, WebDAV e alguns protocolos de nuvem como Azure e S3 em desenvolvimento. / p>

Esta é a página da Web: link

    
por 02.02.2013 / 21:00
0

correndo o risco de soar como um zelote do Linux, você pode mudar para o rsync? ou se você está usando robocopy inclinado?

    
por 31.07.2009 / 20:37
0

Eu não tenho experiência com isso, mas ScriptFTP pode fazer o trabalho.

    
por 31.07.2009 / 22:28
0

você pode usar o powershell:

$File = "C:\foofile.zip"

    $ftp = "ftp://username:[email protected]/upload/incoming/newfile.zip"

    "ftp url: $ftp"

    $webclient = New-Object System.Net.WebClient
    $uri = New-Object System.Uri($ftp)

    "Uploading $File..."

    $webclient.UploadFile($uri, $File)
    
por 31.07.2009 / 21:58
0

CoreFTP tem um módulo de script. Nós usamos isso para algum sucesso. Não é ótimo, mas muito OK. Eu sigo a ideia do cygwin. Eu corro cygwin em todos os meus servidores (em grande parte devido à minha dependência pessoal na cauda).

O

link tem algumas anotações sobre scripts de FTP no Windows.

O Wget foi criado para o Windows (skpping cygwin.dll) link

    
por 01.08.2009 / 02:39
0

Dedique o FTP e use o Rsync ( DeltaCopy) , que copia apenas os arquivos alterados. Se o DeltaCopy não fizer o que você precisa - o Cygwin + Rsync + Bash irá.

Eu também usei o ActiveState Perl e uma biblioteca FTP para o Perl antes de fazer operações FTP mais complexas.

    
por 01.08.2009 / 04:26
0

O% básicoFTP.exe é bastante estável e a primeira pergunta a fazer é: Por que você tem um desempenho ruim daquele FTP?

Você está comparando com o desempenho do FileZilla .
Posso pensar em apenas duas coisas que poderiam ser feitas para superar o desempenho básico de FTP para a transferência de arquivos grandes.

  1. Pode estar fazendo um download em várias partes para que várias conexões baixem um arquivo
    • isso ajudaria se o servidor estivesse limitando a taxa por conexão
    • Pode estar ajustando o tamanho da janela TCP / buffer para obter um pipe TCP mais profundo
    • isso ajudará se houver uma latência significativa de ida e volta no servidor

Eu não consegui localizar um cliente de linha de comando (habilitado para scripts) que pode ser solicitado a executar downloads de várias partes. Talvez, se outros que estiverem respondendo aqui concordarem com essas ideias, possam sugerir uma referência adequada.

Eu sempre achei NcFTP bom para a maioria das finalidades, e esperava que esse suporte estivesse disponível lá. O controle so-bufsize no NcFTP pode ajudar no ponto-2 acima.

Existe um script do ActiveState Python que encontrei no processo,
Mas não tenho ideia de como usá-lo para o seu propósito.
referência: download de FTP multipart encadeado via REST

A parte estranha é que a discussão neste script diz que o FileZilla não estava dando desempenho suficiente!

We needed to speed up downloading from a client's FTP site. For some reason, we could only get around 21 KB/s when downloading normally (FileZilla). Using this, I was able to get 100 KB/s with 5 connections and 200 KB/s if I was able to open 10 connections.

Currently, this could only download one file at a time. Haven't yet given much thought to downloading multiple file as this, as it is, meets our present requirements.

    
por 01.08.2009 / 06:32
0

Você pode querer tentar wput .

    
por 01.08.2009 / 11:33