Como posso parar a expansão percentual em um arquivo de lote?

4

(Isto está no Windows baseado em NT como 2000, XP, Vista, 7)

Na linha de comando, os caracteres percentuais são ignorados:

wget "http://www.justitie.nl/images/Handleiding%20voor%20verwerkers%20persoonsgegevens_tcm34-3940.pdf"

Por isso, ele faz o download corretamente desse arquivo (cada% 20 se torna um espaço):

"http://www.justitie.nl/images/Handleiding voor verwerkers persoonsgegevens_tcm34-3940.pdf"

Mas dentro de um batchfile, todos os% 20 estão sendo interpretados como o parâmetro de expansão 2 (que está vazio) resultando no download desse arquivo (cada% 20 se torna 0):

"http://www.justitie.nl/images/Handleiding0voor0verwerkers0persoonsgegevens_tcm34-3940.pdf"

Existe uma maneira de contornar a expansão do parâmetro percentual?

- jeroen

    
por Jeroen Wiert Pluimers 03.12.2009 / 11:50

2 respostas

9

Duplique o sinal de porcentagem:

wget "http://www.justitie.nl/images/Handleiding%%20voor%%20verwerkers%%20persoonsgegevens_tcm34-3940.pdf"
    
por 03.12.2009 / 12:00
1

% é usado para variáveis no cmd.exe do Windows (e seu predecessor command.com ).

O caractere de escape em cmd.exe é ^ :

> echo foo^%bar
foo%bar
    
por 03.12.2009 / 13:39