批量删除文件,但保留6个文件?

时间:2018-05-02 07:29:21

标签: windows batch-file

我有一个包含许多子文件夹的目录。我想删除所有文件,但保留每个子文件夹的前6个文件。如何在Windows Server 2012上批量执行此操作?

1 个答案:

答案 0 :(得分:2)

  • 更改变量BaseDirKeepFiles以满足您的需求。
  • 如果输出看起来没问题,请删除最后一行中的echo
:: Q:\Test\2018\05\02\SO_50129236.cmd
@Echo off & SetLocal
Set "BaseDir=Q:\Test\2018"
Set "KeepFiles=6"

Pushd "%BaseDir%" || (echo couldn't find BaseDir&Pause&exit /b 1)
For /F %%A in (
  'dir /B /S /AD 2^>nul'
) do For /F "skip=%KeepFiles% delims=" %%B in (
  'dir /B /A-D /ON "%%~fA\*" 2^>NUL'
) do Echo del "%%~fA\%%~nxB"