wget - Muitas URL no arquivo .txt - faça o download e salve como

1

Eu tenho 2000 URLs no arquivo excel. As URLs estão na primeira coluna e na segunda há nomes para os arquivos baixados do URL na primeira coluna. Eu posso copiar isso e colar no arquivo .txt se for necessário, sem problemas. Nomes de arquivos contêm espaços. Eu preciso fazer isso no Windows 7. Você poderia me ajudar?

@Edit: Bem, desculpe Se o meu problema não está claro. Eu não sou inglês falante nativo. Eu tenho URL na primeira coluna e quero salvar o arquivo baixado dessa URL com o nome da segunda coluna. Eu quero que esses espaços estejam lá. Quero baixar todos os arquivos com um comando ou arquivo em lote usando a ferramenta "wget".

    
por user194380 31.01.2013 / 20:31

3 respostas

0

Etapas

  1. Abra sua planilha no Excel e clique em File & rightarrow; Salvar como .

  2. Feche o Excel para desbloquear o arquivo.

  3. Escolha CSV (valores separados por vírgulas) como tipo e mesmo o seu arquivo como urls.csv .

  4. Abra um prompt de comando, execute

    type urls.csv
    

    e identificar o separador de valores (caractere colocado entre URL e nome do arquivo.

    Se for, por exemplo, um ponto-e-vírgula, execute o seguinte comando:

    for /f "delims=; tokens=1,2" %a in (urls.csv) do @wget -O "%b" "%a"
    

Como funciona

  • O Excel salva as URLs e os nomes correspondentes como valores separados por vírgula (ou ponto-e-vírgula).

    Exemplo:

    http://foo;bar
    http://foo bar;foobar
    
  • for /f ... %a (urls.csv) passa por todas as linhas e salva o primeiro valor em %a e o segundo em %b .

    Aqui, delims=; especifica o ponto-e-vírgula como separador de valor e token=1,2 especifica que haverá dois tokens.

  • wget -O "%b" "%a" economiza %a em %b . Como o URL é citado, o Wget cuidará automaticamente dos espaços e outros caracteres especiais.

  • O @ na frente de @wget impede que os comandos sejam impressos.

Veja também: Para / f - Loop through text | SS64.com

    
por 31.01.2013 / 21:16
0

Podemos ajudá-lo? Possivelmente, se você realmente disse o que é que você precisa fazer. O que quer dizer com 'nomes de arquivos'?

Aqui está uma resposta geral. 1) Em um programa de planilha, copie a coluna que contém os dados dos quais você deseja remover espaços. 2) Salve isso em um arquivo .txt. 3) Abra esse arquivo .txt em qualquer programa com pesquisa e substituição de trabalho. 4) Procure por espaços e substitua por _ 5) Salve esse arquivo .txt 6) Abra no seu programa de planilha eletrônica. 7) Você deve ter uma coluna com data_data_data. 8) Copie essa coluna para o seu arquivo original.

Isso resolveria o quebra-cabeça?

    
por 31.01.2013 / 20:48
0

Diga Input.txt com esta aparência:

http://cdn.sstatic.net/superuser/img/sprites.png sp ri te.png
http://www.google.com/images/srpr/logo3w.png go og le.png

Um único comando como o seguinte:

for /f "tokens=1*" %i in (Input.txt) do wget -O "%j" "%i"

salvará os arquivos como sp ri te.png e go og le.png respectivamente.

Para usar em um arquivo de lote, apenas dobre os sinais%.

Nota: Obviamente, as URLs não devem conter espaços. Certifique-se de que eles estão codificados para usar% 20 etc.

    
por 31.01.2013 / 21:06