Wie entkomme ich dem> -Zeichen in der Windows-Befehlszeile?


8

Zum Beispiel foo -option 10->30 file.ext(dies ist eine tatsächliche Syntax erforderlich) leitet die Ausgabe in eine Datei mit dem Namen 30 um. Wie kann ich cmd verständlich machen, dass ich das tatsächliche Zeichen> übergeben möchte? Ich habe verschiedene Formen von doppelten Anführungszeichen ohne Erfolg ausprobiert.

Antworten:


11

Das cmd-Escape-Zeichen lautet wie folgt ^:

foo -option 10-^>30 file.ext

sollte für dich arbeiten


Ich hätte das nie gewusst / erraten - ich kann immer noch nicht glauben, dass jemand Windows-Software schreibt, für die ein reservierter Charakter erforderlich ist.
Mfinni

1
@mfinni: Ich benutze das Caret oft als Escape in einer FOR-Schleife, die Pipe (s) enthält. Es lebe die Charge! :)
Jscott

2
@jscott - lass uns diese Verrücktheit nicht beginnen :) Powershell zur Rettung.
MattB

@mfinni: Es ist an den meisten anderen Orten (wie Linuxland) völlig normal.
user1686

@grawity - deshalb habe ich "Windows-Software" angegeben. Ich weiß, dass man, wenn man Dinge in Shell / Batch oder über Pipes oder andere seltsame Umgebungen erledigt, selbst in Fenstern, vielen Dingen entkommen muss. Aber er sagte nur, dass er cmd verwendet - ich hätte nie gedacht, dass jemand absichtlich etwas schreiben würde, das garantiert nicht mit cmd funktioniert.
Mfinni

1

Sie können auch das Argument zitieren:

foo -option "10->30" file.ext

0

Fragen Sie den Anbieter nach dem fooBefehl, wie er funktionieren soll.


−1. Das ist die Shell und nicht das Programm, das etwas mit dem >Hier macht.
Joey

Ich verstehe das - ich sehe einfach keinen kompetenten Anbieter, der Software für Windows mit einer Syntax schreibt , die in der Standard-Shell nicht sofort funktioniert . Ich bin mir nicht sicher, ob -1 erforderlich ist.
Mfinni
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.