我正在尝试使用nant,因为我认为这将是最简单的,但我对任何适用于Windows XP的解决方案持开放态度。
我有以下文件夹结构
basefolder
folder1
folder2
subfolder1
code
solutionname1
projectname.interface
projectname.simulation
projectname.testcase
bin
release
folder3
...
folderN
folder1 - folderN都具有与folder2相同的目录结构。我想将文件复制到每个文件夹N的发布文件夹中。
我目前有以下nant脚本
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://nant.sf.net/release/0.90/nant.xsd" name="CopyDll" default="FileCopy">
<property name="fileToCopy"
value="C:\file.dll"
overwrite="false"/>
<property name="baseDirectory" value="${directory::get-current-directory()}" overwrite="false"/>
<target name="FileCopy"
description="Copies file to multiple directories">
<foreach item="Folder"
in="${baseDirectory}"
property="foldername">
<in>
<items>
<include name="**\**\**\*.TestCase\bin\Release"/>
</items>
</in>
<do>
<copy file="${fileToCopy}"
todir="${foldername}"/>
<echo message="Copied file to ${foldername}"/>
</do>
</foreach>
</target>
</project>
将file.dll复制到每个folderN目录。 我究竟做错了什么? 有更好的方法吗?
答案 0 :(得分:2)
我明白了。我不得不改变我的foreach看起来像这样
<foreach item="Folder"
property="foldername">
<in>
<items>
<include name="${baseDirectory}\**\*.TestCase\bin\Release"/>
</items>
</in>
<do>
<copy file="${fileToCopy}"
todir="${foldername}"/>
<echo message="Copied file to ${foldername}"/>
</do>
</foreach>