Board logo

标题: [文本处理] 批处理如何列出相同修改时间的文件,并删除较旧的文件 [打印本页]

作者: chenghali    时间: 2018-3-26 11:16     标题: 批处理如何列出相同修改时间的文件,并删除较旧的文件

请各位大神帮忙解决下
  1. @echo off
  2. echo 开始复制c盘copy目录里5天前的文件到e盘目录里的back
  3. forfiles /p "c:\copy" /s /m *.* /d -5 /c "cmd /c copy @path E:\back"
  4. set size=50106127360
  5.         for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DeviceID='E:'" get FreeSpace /value') do (
  6.                 if %%a gtr %size% (
  7.                         echo e盘大于50GB
  8.                 ) else if %%a lss %size% (
  9.                         forfiles /p E:\back /s /m *.* /d -15 /c "cmd /c del @file"
  10. echo 已删除15天前的文件
  11.                 ) else (
  12.                         echo e盘等于50GB
  13.                 )
  14.         )
  15. )
  16. ping 127.0.0.1 -n 6 >nul
复制代码
例如 我只想保留那份下午时间最新的文件
这是我之前写的批处理,由于业务要求,现在需要改下语句, 要列出相同修改的时间文件,并删除较旧的文件,保留最新的一份文件,每个日期都执行一样的操作,确保每一天都只保留一份最新的文件




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2