现在在我的 msbuild 脚本中是删除文件夹的任务
<RemoveDir Directories="$(Bin)"/>
但是,我宁愿删除文件夹的内容,但保留文件夹(以防有人在 Windows 资源管理器中打开了该文件夹)。我怎样才能做到这一点?
现在在我的 msbuild 脚本中是删除文件夹的任务
<RemoveDir Directories="$(Bin)"/>
但是,我宁愿删除文件夹的内容,但保留文件夹(以防有人在 Windows 资源管理器中打开了该文件夹)。我怎样才能做到这一点?
这将删除所有文件和子文件夹:
<Target Name="CleanFolder">
<PropertyGroup>
<TargetFolder>c:\clean</TargetFolder>
</PropertyGroup>
<ItemGroup>
<FilesToClean Include="$(TargetFolder)\**\*"/>
<Directories Include="$([System.IO.Directory]::GetDirectories('$(TargetFolder)', '*', System.IO.SearchOption.AllDirectories))"
Exclude="$(TargetFolder)"/>
</ItemGroup>
<Delete Files="@(FilesToClean)" ContinueOnError="true"/>
<RemoveDir Directories="@(Directories)" />
</Target>
使用 openfiles 工具删除打开的连接也很好:
openfiles /disconnect /ID *
下载并安装msbuild 扩展包,然后使用
<MSBuild.ExtensionPack.FileSystem.Folder TaskAction="RemoveContent" Path="$(Bin)" />