Mit mapper & fileset zum kopieren von Dateien in einem anderen Unterverzeichnis?
Ich möchte erstellen Sie eine Ant-target kopiert, die Dateien in einem Verzeichnis in ein Zielverzeichnis mit der gleichen Ordner-Struktur, plus einen Unterordner angehängt.
Beispielsweise, die Quelle ist:
a/b/c/foo.pdf
d/e/f/bar.pdf
Ich soll das Ziel sein:
a/b/c/x/foo.pdf
d/e/f/x/foo.pdf
Hier ist mein Ziel nicht so weit, aber es scheint nicht zu sein, etwas zu tun:
<copy todir="${dest.dir}">
<fileset dir="${src.dir}" casesensitive="yes">
<include name="**${file.separator}foo.pdf" />
</fileset>
<mapper type="glob"
from="foo.pdf" to="x${file.separator}foo.pdf" />
</copy>
Was bin ich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man eine
regexp
mapper:Ich verwendet habe, hart-codierten Datei.Separatoren zu verkürzen. Im Grunde, Sie teilen Sie den Pfad zu der input-Datei (aus) in das Verzeichnis und den Dateinamen (capture
\1
und\2
) und legen Sie dann die\x
zusätzliches element zwischen Ihnen (zu).Ich bin mir nicht klar, auf dein Beispiel - es sieht aus wie Sie wollen-match " - bar.pdf' und benenne Sie um in 'foo.pdf' sowie Verzeichnis wechseln. Wenn Sie brauchen, um machen, könnten Sie die Verkettung von ein paar einfachere regexp-Mappern, anstatt zu versuchen, um zu Kochen bis ein Komplex:
Bei Verwendung eines
glob
mapper, müssen Sie einen Platzhalter*
im Feld von:So etwas wie dies funktionieren könnte: