For example, foo -option 10->30 file.ext
(this is an actual syntax required) redirects the output to a file named 30. How do I make cmd understand that I would like to pass the actual > character? I've tried several forms of double quotes to no avail.
3 Answers
The cmd escape character is ^
so:
foo -option 10-^>30 file.ext
should work for you
-
I never would have known/guessed that - I still can't believe that someone is writing windows software the requires a reserved character.– mfinniMar 26, 2010 at 15:12
-
1@mfinni: I often use the caret as escape in a FOR loop containing pipe(s). Long live batch! :)– jscottMar 26, 2010 at 16:26
-
2
-
@mfinni: It's perfectly normal in most other places (such as Linuxland). Mar 26, 2010 at 20:19
-
@grawity - that's why I specified "windows software". I know that when you're doing stuff in shell/batch or via pipes or other weird-ish environments, even in windows, you have to escape a lot of things. But he just said he's using cmd - I never would have thought someone would purposefully write something that guaranteed wouldn't work from cmd.– mfinniMar 26, 2010 at 21:07
Ask the vendor for the foo
command how it's supposed to work?
-
−1. That's the shell and not the program doing something with the
>
here.– JoeyMar 27, 2010 at 11:43 -
I understand that - I simply don't see a competent vendor writing software for windows with syntax that won't work out of the box on the default shell. Not sure the -1 is necessary.– mfinniMar 27, 2010 at 15:40