Ant: Finden Sie den Pfad einer Datei in einem Verzeichnis
Möchte ich finden den Pfad einer Datei in einem Verzeichnis (ähnlich wie unix 'find' - Befehl oder die 'die' - Befehl, aber ich brauche es funktioniert Plattform-unabhängig) und speichern Sie es als eine Eigenschaft.
Versucht, den whichresource
ant-task, aber es tut nicht den trick tun (ich denke, es ist nur gut für uns in jar-Dateien).
Ich würde es vorziehen, wenn es wäre Reine ant-und nicht zu schreiben, meine eigene Aufgabe, oder verwenden Sie ein 3rd-party-Erweiterung.
Beachten Sie, dass es möglicherweise mehrere Instanzen einer Datei mit diesem Namen im Pfad - ich will es nur zurück die erste Instanz (oder zumindest ich wollen in der Lage sein, nur eins zu wählen).
Irgendwelche Vorschläge?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine Möglichkeit ist die Verwendung der
ersten
Ressourcen-Selektor. Zum Beispiel finden Sie eine Datei namensa.jar
irgendwo unter Verzeichnisjars
:Wenn es keine passenden Dateien, wird nichts zurückgegeben werden, andernfalls bekommen Sie den Pfad auf das erste match.
toString:
thingie?resourcecount
,condition
,available
bis zur Landung auf dieser. War Sie die einzige, die arbeitete.Hier ist ein Beispiel, das wählt den ersten passenden Datei. Die Logik ist wie folgt:
Die Funktionalität wird gekapselt in einem macrodef für die Wiederverwendbarkeit.