标题: [文件操作] [已解决]求BAT代码-实现批量删除编号为奇数或偶数的文件 [打印本页]
作者: qd2024 时间: 2023-7-16 07:23 标题: [已解决]求BAT代码-实现批量删除编号为奇数或偶数的文件
本帖最后由 qd2024 于 2023-7-28 22:44 编辑
用第三方软件 分割生成MP3文件,生成小段文件文件后后缀规则 如下:
分割生成文件最多9个时
001M01-1
……
001M01-9
分割生成文件最多99个时
001M01-01
……
001M01-99
分割生成文件最多999个时
001M01-001
……
001M01-999
分割生成文件最多9999个时
001M01-0001
……
001M01-9999
更多数量时,以此类推。
===============需要一段批处理命令,
以文件名中“-”后面的数据,实现删除全部奇数编号文件,或全部偶数编号文件。
文件扩展名为MP3
谢谢。
作者: qixiaobin0715 时间: 2023-7-16 08:59
本帖最后由 qixiaobin0715 于 2023-7-16 09:00 编辑
- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1* delims=-" %%i in ('dir /b /a-d *.mp3') do (
- set n=%%~nj
- set /a n=n
- set /a n=n%%2
- if !n! equ 1 del %%i-%%j
- )
复制代码
以上是删除奇数,如果要删除偶数请将代码第7行中的1替换成0即可。
作者: 77七 时间: 2023-7-16 09:42
- @echo off
- rem 删除奇数
- for /l %%l in (1,2,9) do (
- del "*-*%%l.mp3"
- )
- exit
- @echo off
- rem 删除偶数
- for /l %%l in (0,2,8) do (
- del "*-*%%l.mp3"
- )
- exit
复制代码
作者: qixiaobin0715 时间: 2023-7-16 09:51
奇数:- for /f "delims=" %%i in ('dir /b /a-d *.mp3^|findstr /e "[13579]\.mp3"') do del %%i
复制代码
偶数:- for /f "delims=" %%i in ('dir /b /a-d *.mp3^|findstr /e "[02468]\.mp3"') do del %%i
复制代码
作者: CrLf 时间: 2023-7-29 20:05
本帖最后由 CrLf 于 2023-7-31 12:21 编辑
以奇数为例:- del *1.mp3 *3.mp3 *5.mp3 *7.mp3 *9.mp3
复制代码
经6楼提醒,此方案有误删风险
作者: WHY 时间: 2023-7-30 18:26
回复 5# CrLf
这样有误删的风险吧?
比如有两个文件:
001M01-00.mp3
001M01-01.mp3
对应短文件名分别是:
001M01~1.mp3
001M01~2.mp3
del *1.mp3 两个文件都会被删除。
作者: WHY 时间: 2023-7-30 18:32
用 PowerShell 也比较方便- del *[13579].mp3 -Force #奇数
复制代码
限制:路径及文件名本身不能包含 "[" 字符
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |