【问题标题】:nant exclude folder南特排除文件夹
【发布时间】:2010-06-05 07:30:17
【问题描述】:

我正在循环浏览我的文件夹,需要排除 svn 文件夹。我以为我可以简单地添加排除元素,尽管这似乎不起作用。

<foreach item="Folder" property="foldername">
    <in>
        <items>
                <include name="YOUR_FOLDER\**" />
                <exlcude name="YOUR_FOLDER\**/_svn" />
        </items>
    </in>
    <do>
        <foreach item="File" property="filename" in="${foldername}">
        <do>
                <echo message="${filename}" />
        </do>
        </foreach>                              
    </do>
</foreach>

有人可以帮忙吗?

【问题讨论】:

    标签: nant


    【解决方案1】:

    简单添加就可以了:

    <exclude name="YOUR_FOLDER\**_svn**" />
    

    【讨论】:

    • 我应该在哪里添加这个?您能否提供一个完整的示例或相应地调整您的问题?
    【解决方案2】:

    您需要包含.svn 目录以及其中的所有内容,否则排除掩码只会命中.svn 目录,而不是.svn/prop-base.svn/props.svn/text-base 等等.

    <foreach item="Folder" property="foldername">
        <in>
            <items>
                <include name="YOUR_FOLDER/**" />
                <exclude name="YOUR_FOLDER/**/.svn/**" />
                <exclude name="YOUR_FOLDER/**/_svn/**" />
            </items>
        </in>
        <do>
            <foreach item="File" property="filename" in="${foldername}">
            <do>
                    <echo message="${filename}" />
            </do>
            </foreach>                              
        </do>
    </foreach>
    

    另外,您真的在使用替代的_svn Subversion 数据目录命名方案吗?

    【讨论】:

      【解决方案3】:
      <copy failonerror="true" overwrite="true" todir="${BusinessServicesTarget}">
              <fileset basedir="${BusinessServicesPath}">
                  <exclude name="*.*" />  
                  <include name="/**/*.as?x" />
                  <exclude name="/**/**_SVN**" />
      

      您需要在复制功能中使用它,而不是在 foreach 中。

      【讨论】:

        猜你喜欢
        • 2015-12-11
        • 2012-11-19
        • 1970-01-01
        • 2013-03-22
        • 1970-01-01
        • 2014-02-09
        • 1970-01-01
        • 1970-01-01
        • 2022-12-14
        相关资源
        最近更新 更多