Come posso interrompere l'espansione percentuale in un file batch?


4

(Questo è su Windows basato su NT come 2000, XP, Vista, 7)

Sulla riga di comando, i caratteri percentuali vengono ignorati:

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

Quindi scarica correttamente questo file (ogni% 20 diventa uno spazio):

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

Ma all'interno di un file batch, tutti i% 20 vengono interpretati come parametro di espansione 2 (che è vuoto), il che comporta il download di questo file (ogni% 20 diventa 0):

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

C'è un modo per aggirare l'espansione dei parametri percentuali?

--jeroen


2
Possibile duplicato di % di
escape in

Risposte:


9

Raddoppia il segno di percentuale:

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

1

%viene utilizzato per le variabili in cmd.exe di Windows (e il suo predecessore command.com).

Il carattere di escape in cmd.exe è ^:

> echo foo ^% bar
foo% bar

3
questo non funziona dall'interno di un file batch; ma la soluzione di Snark funziona. Questo è il file batch che ho testato: wget " justitie.nl/images/… " wget " justitie.nl/images/Handleiding ^% 20voor ^% 20verwerkers ^% 20persoonsgegevens_tcm34-3940.pdf"
Jeroen Wiert Pluimers

Conoscevo la soluzione di @ Snark, ma non avrei immaginato che anche questo non avrebbe funzionato. Sorprendente.
DGO
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.