[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 请教批处理如何删除指定序号文件?

想请教对于大量的文件(文件名基本无规律),怎么做到每隔十个文件删除十个文件。就是要保留第一到第十个文件,删除第11到第二十个文件,保留第21到30个文件,删除第31到第40个文件。以此类推直到最后。

先确定什么属性排序吧

TOP

文件名无规律的话, 删掉 N / 2 个文件就行了 (

TOP

回复 3# bailong360


    不好意思,可以讲的更详细一点吗,还是有点不能理解,谢谢!

TOP

测试之前请做好备份
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0
  4. for /f "delims=" %%i in ('dir /b /a-d') do (
  5.     if "%%i" neq "%0" (
  6.         set /a n+=1
  7.         if !n! geq 11 (
  8.             if !n! leq 20 (
  9.                 del /f /q !n! "%%i"
  10.             ) else (
  11.                 set /a n-=20
  12.             )
  13.         )
  14.     )
  15. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

测试之前请做好备份
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0
  4. for /f "delims=" %%i in ('dir /b /a-d') do (
  5.     if "%%i" neq "%0" (
  6.         set /a n+=1
  7.         if !n! geq 11 (
  8.             if !n! leq 20 (
  9.                 del /f /q !n! "%%i"
  10.             ) else (
  11.                 set /a n-=20
  12.             )
  13.         )
  14.     )
  15. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 WHY 于 2019-4-2 18:32 编辑
  1. dir E:\Test\* -File | sort Name | %{if($n++%20 -ge 10){del -Literal $_.FullName -Force -WhatIf}}
复制代码

TOP

返回列表