找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22755|回复: 4

[文件操作] 批处理怎么删除旧版本

[复制链接]
发表于 2022-8-29 09:28:06 | 显示全部楼层 |阅读模式
文件夹下有软件生成的各个版本文件如下
      a.txt.1
      a.txt.2
      a.txt.3
....
      b.txt.4
      b.txt.10
      b.txt.15
...
      c.pro.22
      c.pro.50
      c.pro.51
....
      d.prt.4
      d.prt.100
      d.prt.201
....

类似的文件,怎么批处理后只保留最高版本,如上面文件执行后只保留的文件如下
      a.txt.3
....
      b.txt.15
...
      c.pro.51
....
      d.prt.201
....
发表于 2022-8-29 11:26:59 | 显示全部楼层
回复 1# 阿一呐法
未测试,代码另存为ANSI编码:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1,2* delims=." %%i in ('dir /b /a-d^|findstr /e "[0-9]"') do (
  4.     if "%%i.%%j"=="!fn!" (
  5.         if %%k gtr !n! (
  6.             set n=%%k
  7.             del "!fn!.!m!"
  8.         ) else (
  9.             del "%%i.%%j.%%k"
  10.         )
  11.     ) else (
  12.         set n=%%k
  13.     )
  14.     set fn=%%i.%%j
  15.     set m=%%k
  16. )
复制代码
发表于 2022-8-29 16:00:29 | 显示全部楼层

  1. @echo off
  2. Setlocal Enabledelayedexpansion
  3. for /f "delims==" %%a in ('set _del_ID_ 2^>nul') do set "%%a="
  4. for /f %%a in ('dir /b /a-d^|findstr /er "\.[0-9][0-9]*$"') do (
  5.         set n=%%~xa
  6.         set /a n=!n:~1!
  7.         if defined _del_ID_%%~na (
  8.                 set /a n1=_del_ID_%%~na
  9.                 if !n! LSS !n1! ( set /a n1=n ) else ( set /a "_del_ID_%%~na=!n!" )
  10.                 del /f /q "%%~na.!n1!"
  11.         ) else (
  12.                 set /a "_del_ID_%%~na=!n!"
  13.         )
  14. )
  15. endlocal
复制代码
 楼主| 发表于 2022-8-29 18:12:03 | 显示全部楼层
回复 2# qixiaobin0715


    谢谢,测试没得问题,
发表于 2022-8-29 18:21:44 | 显示全部楼层
  1. PowerShell "dir *.* | ?{$_.Extension -match '\.\d+$'} | sort{1*$_.Extension.Trim('.')} -Desc | group{$_.BaseName} | forEach{$_.Group | select -Skip 1 | del -Force}"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 21:06 , Processed in 0.017783 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表