需要有关nant或命令中删除任务的帮助,可以在nant构建文件中使用。
这是要求,我在根文件夹中有多个文件和文件夹。 我只需删除文件夹而不删除文件..
知道怎么做。
块引用
EX : ROOT
-a.txt
-b.txt
-Folder1
-Folder2
删除后,应该是
块引用
EX: ROOT-
-a.txt
-b.txt
提前致谢。
答案 0 :(得分:1)
for /d %%a in ("c:\some\root\*") do echo rmdir /s /q "%%~fa"
对于指定路径内的每个文件夹,匹配指定的掩码,删除文件夹
删除操作将回显到控制台。如果输出正确,请删除echo
命令以执行rmdir命令。
要将其包含在构建文件中,并避免引用问题,最好创建一个包含该命令的批处理文件并调用此批处理文件。这样,批处理文件就像
@echo off
if "%~1"=="" exit /b 1
for /d %%a in ("%~1\*") do echo rmdir /s /q "%%~fa"
将要清理的文件夹的路径作为参数传递
然后,exec任务将类似于
<exec program="cmd.exe" commandline="/c theBatchFile.cmd" workingdir="${project.batchFiles}" output="e:\my.txt">
<arg value="${project.rootFolder}" />
</exec>
需要定义指向
的变量 ${project.batchFiles}
=批处理文件所在的位置
${project.rootFolder}
=需要清理的文件夹
因此,任务将调用cmd.exe
来处理批处理文件,将文件夹作为参数传递给批处理。
答案 1 :(得分:0)
使用上述建议并发现:
代码:
<echo file="CleanFolders.bat">for /d %%a in ("${dir}\subdir\*") do rmdir /s /q "%%~fa</echo>
<exec program="CleanFolders.bat"/>