Como redirecionar a saída de uma listagem recursiva de FTP para um arquivo local com o cliente de FTP do Windows 7?

6

Ao usar o comando DOS do FTP no Windows 7, posso usar este comando FTP para listar recursivamente todos os arquivos do diretório remoto:

ftp> ls -R

Não consigo obter a saída de ls -R para um arquivo local, o FTP continua reclamando sobre a sintaxe:

ftp> ls -R . save.txt
usage: ls remote-directory local-file

Alguém pode explicar por que e como obter o resultado que eu queria?

    
por mins 30.07.2014 / 18:05

3 respostas

7

até onde eu sei, uma vez que você está no shell interativo do ftp, a saída não pode ser capturada.

mas você pode canalizar comandos para o comando ftp ou especifique um arquivo com os comandos (necessário se você precisar de vários comandos, como especificar nome de usuário / senha)

você redireciona o arquivo para um arquivo.

assim:

echo ls -R | ftp yourHostname > save.txt

ou você coloca todos os seus comandos (digamos mycommands.txt) em um arquivo de texto e chama-o com

ftp -s:mycommands.txt > save.txt

mycommmands.txt poderia se parecer com isso

user yourName yourPassword
open yourHostname
cd someDirectory
ls -R

(Eu não pude testar o segundo exemplo agora, então me avise se ele não funcionar)

    
por 30.07.2014 / 18:21
4

Supondo que você esteja usando o ftp simples via linha de comando, Use o comando dir com a opção -Rl para pesquisar recursivamente e copiá-lo para um arquivo e, em seguida, pesquisar o arquivo usando grep, find ou qualquer outra forma suportada em seu sistema operacional.

ftp> dir -Rl education.txt
output to local-file: education.txt? y
227 Entering Passive Mode (9,62,119,15,138,239)
150 Opening ASCII mode data connection for file list
226 Transfer complete
    
por 15.06.2015 / 20:41
0
ftp> dir * Sample.txt

Isso funcionou para mim.

    
por 24.04.2017 / 13:48