14

現在、msbuildスクリプトには、フォルダーを削除するタスクがあります

<RemoveDir Directories="$(Bin)"/>

ただし、フォルダの内容を削除したいのですが、フォルダはそのままにしておきます(Windowsエクスプローラでフォルダを開いている場合に備えて)。どうやってやるの?

4

2 に答える 2

30

これにより、すべてのファイルとサブフォルダーが削除されます。

    <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 *
于 2013-02-27T13:35:54.573 に答える