Как избежать знака> в командной строке Windows?

8

Например, foo -option 10->30 file.ext(это фактический синтаксис требуется) перенаправляет вывод в файл с именем 30. Как я могу заставить cmd понять, что я хотел бы передать фактический> символ? Я пробовал несколько форм двойных кавычек безрезультатно.

MaxVT
источник

Ответы:

11

Экранирующий символ cmd выглядит ^так:

foo -option 10-^>30 file.ext

должен работать на вас

MattB
источник
Я бы никогда этого не знал / не догадался - я до сих пор не могу поверить, что кто-то пишет программное обеспечение для Windows, для которого требуется зарезервированный символ.
mfinni
1
@mfinni: Я часто использую каретку как выход в цикле FOR, содержащем трубу (и). Да здравствует партия! :)
Jscott
2
@jscott - давайте не будем начинать это сумасшествие :) Powershell на помощь.
MattB
@mfinni: Это совершенно нормально в большинстве других мест (например, в Linuxland).
user1686
@ Grawity - вот почему я указал «программное обеспечение Windows». Я знаю, что когда вы делаете что-то в shell / batch или через pipe или другую странную среду, даже в windows, вы должны избегать многих вещей. Но он просто сказал, что использует cmd - я никогда бы не подумал, что кто-то намеренно напишет что-то, что гарантированно не будет работать с cmd.
mfinni
1

Вы также можете процитировать аргумент:

foo -option "10->30" file.ext
детеныш
источник
0

Спросите у продавца fooкоманду, как она должна работать?

mfinni
источник
-1. Это оболочка, а не программа, которая что-то делает >здесь.
Джои
Я понимаю это - я просто не вижу компетентного поставщика, пишущего программное обеспечение для окон с синтаксисом, которое не будет работать из коробки на оболочке по умолчанию. Не уверен, что -1 необходим.
mfinni