比如,有一个名为变量的变量%pathtofolder%,因为它表明它是文件夹的完整路径.
我想删除此目录中的每个文件和子文件夹,但不删除目录本身.
但是,可能会出现"此文件/文件夹已在使用中"的错误...当发生这种情况时,它应该继续并跳过该文件/文件夹.
任何人都可以给我一些命令吗?
现在我的msbuild脚本是一个删除文件夹的任务
<RemoveDir Directories="$(Bin)"/>
Run Code Online (Sandbox Code Playgroud)
但是我宁愿删除文件夹的内容,但保留文件夹(如果有人在Windows资源管理器中打开了文件夹).我怎样才能做到这一点?
我们在Angular 5上有一个带有ASP.NET后端的单页应用程序,当我们编译它时,Angular的发布内容被输出到文件夹"Project\dist".
这在本地开发机器上运行良好,但所有dist文件都随机分配了不同的名称,例如:
当我们使用Web发布部署到登台或生产时,一切都很好地传输,并且发布配置文件中的自定义文件夹被包含和发布.
但是,在目标服务器(暂存或生产)上,这些旧的,随机命名的文件和旧的(不再使用的)文件夹仍然存在.这导致在登台和生产服务器上累积了数百个数百个旧文件(来自旧的Web部署).每次我们使用webdeploy推送更新时,我都需要一种自动删除它们的方法.
理想情况下,工作流程是:
这是我们当前发布配置文件的编辑版本:
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<MSDeployServiceURL>staging.example.com</MSDeployServiceURL>
<DeployIisAppPath>Project</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>False</EnableMSDeployBackup>
<UserName>WebDeployUser</UserName>
<PublishDatabaseSettings> …Run Code Online (Sandbox Code Playgroud) msbuild ×2
angular ×1
asp.net-mvc ×1
batch-file ×1
cmd ×1
directory ×1
file-io ×1
webdeploy ×1
windows ×1