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.

Réponses:


11

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

foo -option 10-^>30 file.ext

devrait fonctionner pour vous


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

0

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


-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
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.