标题: [文件操作] 请教批处理如何删除指定序号文件? [打印本页]
作者: 3354493038 时间: 2019-3-31 20:45 标题: 请教批处理如何删除指定序号文件?
想请教对于大量的文件(文件名基本无规律),怎么做到每隔十个文件删除十个文件。就是要保留第一到第十个文件,删除第11到第二十个文件,保留第21到30个文件,删除第31到第40个文件。以此类推直到最后。
作者: ivor 时间: 2019-3-31 21:52
先确定什么属性排序吧
作者: bailong360 时间: 2019-3-31 22:30
文件名无规律的话, 删掉 N / 2 个文件就行了 (
作者: 3354493038 时间: 2019-4-1 14:51
回复 3# bailong360
不好意思,可以讲的更详细一点吗,还是有点不能理解,谢谢!
作者: Batcher 时间: 2019-4-1 17:00
测试之前请做好备份- @echo off
- setlocal enabledelayedexpansion
- set n=0
- for /f "delims=" %%i in ('dir /b /a-d') do (
- if "%%i" neq "%0" (
- set /a n+=1
- if !n! geq 11 (
- if !n! leq 20 (
- del /f /q !n! "%%i"
- ) else (
- set /a n-=20
- )
- )
- )
- )
复制代码
作者: Batcher 时间: 2019-4-1 17:00
测试之前请做好备份- @echo off
- setlocal enabledelayedexpansion
- set n=0
- for /f "delims=" %%i in ('dir /b /a-d') do (
- if "%%i" neq "%0" (
- set /a n+=1
- if !n! geq 11 (
- if !n! leq 20 (
- del /f /q !n! "%%i"
- ) else (
- set /a n-=20
- )
- )
- )
- )
复制代码
作者: WHY 时间: 2019-4-1 19:30
本帖最后由 WHY 于 2019-4-2 18:32 编辑
- dir E:\Test\* -File | sort Name | %{if($n++%20 -ge 10){del -Literal $_.FullName -Force -WhatIf}}
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |