Comment échapper au signe> sur la ligne de commande Windows?

8

Par exemple, foo -option 10->30 file.ext(il s'agit d'une syntaxe réelle requise) redirige la sortie vers un fichier nommé 30. Comment puis-je faire comprendre à cmd que je voudrais transmettre le caractère réel>? J'ai essayé plusieurs formes de guillemets doubles en vain.

MaxVT
la source

Réponses:

11

Le caractère d'échappement cmd est ^le suivant:

foo -option 10-^>30 file.ext

devrait fonctionner pour vous

MattB
la source
Je n'aurais jamais su / deviné que - je n'arrive toujours pas à croire que quelqu'un écrit un logiciel Windows qui nécessite un caractère réservé.
mfinni
1
@mfinni: J'utilise souvent le signe d'insertion dans une boucle FOR contenant des tuyaux. Vive le lot! :)
jscott
2
@jscott - ne commençons pas cette folie :) Powershell à la rescousse.
MattB
@mfinni: C'est parfaitement normal dans la plupart des autres endroits (comme Linuxland).
user1686
@grawity - c'est pourquoi j'ai spécifié "logiciel Windows". Je sais que lorsque vous faites des choses en shell / batch ou via des tuyaux ou d'autres environnements bizarres, même sous Windows, vous devez échapper à beaucoup de choses. Mais il a juste dit qu'il utilisait cmd - je n'aurais jamais pensé que quelqu'un écrirait délibérément quelque chose qui garanti ne fonctionnerait pas avec cmd.
mfinni
1

Vous pouvez également citer l'argument:

foo -option "10->30" file.ext
Joey
la source
0

Demandez au vendeur pour la foocommande comment il est censé fonctionner?

mfinni
la source
-1. C'est le shell et non le programme qui fait quelque chose avec >ici.
Joey
Je comprends cela - je ne vois tout simplement pas un fournisseur compétent qui écrit des logiciels pour Windows avec une syntaxe qui ne fonctionnera pas dès le départ sur le shell par défaut. Pas sûr que le -1 soit nécessaire.
mfinni