「期待される」出力フォルダと比較する必要のあるプログラムの出力がいくつかあります。しかし、私の問題は、出力ファイルのファイル名が常に異なることです。
フォルダ内のすべてのファイルの名前を別のフォルダ内の同じファイル名に変更するにはどうすればよいですか。ここに例があります-予想されるファイル構造(もちろん変更できます):
expected/folder1/file1.txt
expected/folder1/file2.txt
expected/folder2/file1.txt
expected/folder3/file1.txt
そして、私の出力は次のようになります(ファイルの数と位置は常に同じです):
result/folder1/fileOtherName1.txt
result/folder1/fileOtherName2.txt
result/folder2/fileOtherName1.txt
result/folder3/fileOtherName1.txt
ANTを使ってみましたが(アルファベット順)、インデックスでファイルを選択できないため、行き詰まりました。
ここにANTの私の擬似コードがあります(しかし、続行する方法がわかりません):
<target name="foo">
<foreach>
<fileset dir="result" casesensitive="yes">
<include name="**/*.txt"/>
</fileset>
<antcall target="rename">
</antcall>
</foreach>
</target>
<target name="rename">
<!-- how can I access another fileset and take the correct file? -->
<!-- Here I got stuck -->
<echo message="foreach.file is ${foreach.file}" />
<echo message="foreach.dir is ${foreach.dir}" />
<echo message="foreach.name.ext is ${foreach.name.ext}" />
<echo message="foreach.name is ${foreach.name}" />
</target>
助けてくれてありがとう、それはANTだけにあるべきではありません-BASHスクリプトまたは同様のものもその仕事をすることができます。