Frage

Auf Windows-Systemen bestimmten DOS-Befehle haben keine ausführbaren Dateien, die explizit über NAnt des exec Aufgabe aufgerufen werden können. (Ich bin speziell über Befehle sprechen, die Teil Command.com sind)

Eine vollständige Liste finden Sie hier . Während einige der nützlicheren Befehle können mit NAnt oder NAntContrib Aufgaben (Kopieren, Verschieben, Umbenennen usw.), einige (wie ‚Typ‘) kann es nicht.

erreicht werden

Wie können Sie diese Befehle als Teil eines Build ausführen? Zum Beispiel eines Platzhalter verwenden, wie kann ich leicht erlaufen den Inhalt einer Protokolldatei von einem externen Befehl von meinem Build (so dass der externen Befehls Protokolldatei Inhalt wird sich wieder in die Build Protokolldatei)

ausgeführt anzuzeigen
War es hilfreich?

Lösung

können interne Befehle mit der exec Aufgabe auf folgende Weise aufgerufen werden:

<exec workingdir="${dir}" program="cmd" commandline="/c <command/> <arguments/>" />

Für das Szenario in der Frage (wo der Dateiname des Protokolls auf dem aktuellen Zeitpunkt basiert, teilweise durch den Build), anstatt das Parsen / Scannen für den Dateinamen, in eine Eigenschaft zu laden und es dann hallte, könnten Sie log echo Inhalt der folgenden Aufgabe:

<exec program="cmd" workingdir="${dir}" commandline="/c type *.log" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top