Comment puis-je arrêter l'expansion en pourcentage dans un fichier de commandes?

4

(Ceci est basé sur Windows NT, comme 2000, XP, Vista, 7)

Sur la ligne de commande, les caractères en pourcentage sont ignorés:

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

Donc, il télécharge correctement ce fichier (chaque% 20 devient un espace):

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

Mais à l'intérieur d'un fichier de commandes, tous les% 20 sont interprétés comme un paramètre d'extension 2 (vide), ce qui entraîne le téléchargement de ce fichier (chaque% 20 devient 0):

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

Existe-t-il un moyen de contourner le développement des paramètres de pourcentage?

--jeroen

Jeroen Wiert Pluimers
la source

Réponses:

9

Double le signe de pourcentage:

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

%est utilisé pour les variables dans le cmd.exe de Windows (et son prédécesseur command.com).

Le caractère d'échappement dans cmd.exe est ^:

> echo foo ^% bar
foo% bar
Grawity
la source
3
cela ne fonctionne pas à l'intérieur d'un fichier de commandes; mais la solution de Snark fonctionne. Voici le fichier batch que j'ai testé: wget " justitie.nl/images/… " wget " justitie.nl/images/Handleiding ^% 20voor ^% 20verwerkers ^% 20persoonsgegevens_tcm34-3940.pdf"
Jeroen Wiert Pluimers
Je connaissais la solution de @ Snark, mais je n'aurais pas deviné que cela ne fonctionnerait pas aussi. Surprenant.
dgo