0

私はmsbuildにかなり慣れていないので、次の問題に頭を悩ませています。次のファイル構造があるとします。

foo\bin\folder1_OK\file1.txt
foo\bin\folder1_OK\sub\file2.txt
foo\bin\folder2_NOK\file3.txt
bar\bin\folder3_OK\file4.txt

msbuild を使用して、名前が '_OK' で終わるすべてのフォルダーと、その下にあるコンテンツをドロップ場所にコピーしたいと考えています。中間の「bin」フォルダーも削除したいと思います。この例では、出力構造を次のようにします。

foo\folder1_OK\file1.txt
foo\folder1_OK\sub\file2.txt
bar\folder3_OK\file4.txt

これは 1 回の操作で達成できますか? include 属性が「***_OK*」の場合、RecursiveDir メタデータにはまだ bin フォルダーが含まれています。これを因数分解するために使用できる巧妙なトリックはありますか? それとも、コピー操作後に連続移動タスクを使用したほうがよいですか?

4

1 に答える 1

0

プロセスは、入力パス + ファイル名に基づいて、ターゲット パス + ファイル名のリストを生成しています。

MSBuild4 を使用する場合は、Property 関数を使用して、正規表現を使用してディレクトリ名を変更できます。

その後、コピー タスクを使用してそれらのファイルをコピーできます。

msbuild4 を使用しない場合は、カスタマイズされたタスクを記述して出力リストを生成する必要があります。

于 2013-06-08T23:00:22.837 に答える