![](/img/trans.png)
[英]How to create a batch script that deletes files older than X and not delete at the root folder and exclude certain subfolders?
[英]nant delete subfolders exclude files
需要有关nant中删除任务或可在nant构建文件中使用的命令的帮助。
这是要求,我在根文件夹中有多个文件和文件夹。 我只需要删除文件夹,而不是文件。
任何想法如何做到这一点。
块引用
EX : ROOT
-a.txt
-b.txt
-Folder1
-Folder2
删除后,应该是
块引用
EX: ROOT-
-a.txt
-b.txt
提前致谢。
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
处理批处理文件,并将文件夹作为参数传递给批处理。
使用上述建议并发现:
代码:
<echo file="CleanFolders.bat">for /d %%a in ("${dir}\subdir\*") do rmdir /s /q "%%~fa</echo>
<exec program="CleanFolders.bat"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.