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


Réponses:


9

Double le signe de pourcentage:

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

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

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.