Frage

Heute hatte ich eine Aufgabe zu einer Apache Ant-Datei hinzuzufügen. Die Befehlszeile so etwas wie sein sollte

myprogram --param1 --param2 path\somefile 2> path\logfile

Das Problem dabei war, dass, wenn ich verwende, so etwas wie die folgenden für diesen

<exec executable="$(myprogram)"
  <arg value="--param1">
  <arg value="--param2">
  <arg path="$(somefile)">
  <arg value="2>">
  <arg path="$(logfile)">
</exec>

Alle Argumente wurden zitiert, so dass der Befehl sah wie folgt aus:

myprogram "--param1" "--param2" "path\somefile" "2>" "path\logfile"

was nicht schlecht ist und besonders schön, wenn man Räume in Ihren Dateien / Pfad, sondern zerstört das Rohr auf das Logfile (stattdessen denkt das Programm gibt es zwei zusätzliche Datei Argumente „2>“ und „Pfad \ Logfile“) .

ich um dieses arbeitete durch ein Batch-Skript aufrufen, anstatt dass nur die Dateien als Parameter will, aber ich fragte mich: Ist es möglich, dies zu tun, ohne eine solche Abhilfe

War es hilfreich?

Lösung

Wenn Sie "myprogram --param1 --param2 Pfad \ somefile 2> Pfad \ Logfile" laufen, die Argumente für Ihr Programm Ende bei "2>". Dateiumleitung ist ein Betrieb Ihrer Schale, die von innen Ameise nicht verwendet werden. Wenn man sich die Dokumente sucht die ant exec Aufgabe , werden Sie sehen, dass es die Umleitung über die Ausgabe unterstützt Attribut.

Andere Tipps

Haben Sie versucht, <arg line="..." />?

Die Ameise exec Aufgabe hat einen Ausgabeparameter in dem Sie die Protokolldatei, ohne die Befehlszeilenleitungen, kombiniert mit dem Parameter append, um zu bestimmen, ob die Ausgabedatei überschrieben oder angehängt werden soll angeben könnten.

Ich hatte das gleiche Problem wie das Thema Starter tat. Auf einer Java-Ausführungsbefehlszeile brauchte ich Quelldateien als separate Argumente hinzufügen möchten, nicht als ein Argument mit Anführungszeichen um sie herum. Ich benutzte die <arg value="..." /> Tag, aber mit dem <arg line="..." /> als nullptr mein Problem gelöst vorgeschlagen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top