2010-09-22 19 views
12

Supongamos que estaba scripting una implementación usando nant en un servidor de Windows a un recurso compartido de archivos: \\server\share. Quiero una secuencia de comandos nant para eliminar todos los archivos del recurso compartido y luego copiar en archivos nuevos.In nant, ¿cómo eliminar los contenidos de un directorio, pero no el directorio en sí?

Tengo este código para eliminar los archivos, pero me aparece un error que no puede eliminar "\ server \ share". Pero no quería eliminar el recurso compartido, solo los contenidos en él.

<delete> 
    <fileset basedir="\\server\share"> 
     <include name="**/**" /> 
    </fileset> 
</delete> 

Salida:

 
BUILD FAILED 

D:\code\xxx\xxx.deploy(177,8): 
Cannot delete directory '\\server\share'. 
    Access to the path '\\server\share' is denied. 

Si he modificado para eliminar lugar contenido de un directorio en la acción, dicen \\server\share\somedir, que va a suprimir "somedir" sin error. Pero aún así, no quería eliminar el directorio, solo los contenidos. ¿Hay alguna manera?

Respuesta

25

Esto funciona para mí - sin soluciones requeridas:

<delete> 
    <fileset basedir="\\server\share"> 
     <include name="**\*" /> 
    </fileset> 
</delete> 
+1

¡Probé esto y funcionó! Es curioso, nunca vi esta sintaxis en los documentos nant. – spoulson

+4

nant docs algo apestar ... – D3vtr0n

2

Puede introducir una etiqueta de "exclusión" y excluir un archivo ficticio. Eso dejará intacta la carpeta raíz.

estoy usando lo siguiente:

<target name="clean"> 
    <delete> 
     <fileset basedir="${DeployTo}"> 
     <include name="**/*" /> 
     <exclude name="**/aspnet_client/**" /> 
     </fileset> 
    </delete> 
    </target> 
0

Tomando el ejemplo de nsr81, yo era capaz de llegar a esta solución que funciona para mí:

<touch file="${DeployTo}/deleteme" /> 
<delete> 
    <fileset basedir="${DeployTo}"> 
     <include name="**/**" /> 
     <exclude name="deleteme" /> 
    </fileset> 
</delete> 
<delete file="${DeployTo}/deleteme" /> 
Cuestiones relacionadas