Board logo

标题: [文本处理] 批处理如何删除文件名开头部分字符相同的文件中最新之外的其他文件 [打印本页]

作者: seichinaren    时间: 2016-8-8 04:33     标题: 批处理如何删除文件名开头部分字符相同的文件中最新之外的其他文件

本帖最后由 pcl_test 于 2016-8-8 18:37 编辑

求助

文件名的格式是 条码+时间

比如:H5RA652005R_201608080422.txt
         
         H5RA652005R_201608080526.txt

         H5RA652005R_201608080635.txt

         H5RA652005R_201608071725.txt

其中的条码部分相同。

针对这种情况,如何将条码相同的文本文件批量删除,只保留一个。
作者: xxpinqz    时间: 2016-8-8 09:06

  1. @echo off
  2. for /f "tokens=1* delims=_" %%a in ('dir /b *_*.txt') do if defined #%%a (echo,del %%a_%%b) else set #%%a=.
  3. pause
复制代码

作者: seichinaren    时间: 2016-8-8 16:50

非常感谢,等下就去试试。
作者: pcl_test    时间: 2016-8-8 16:59

不要求保留最新的么?
作者: seichinaren    时间: 2016-8-8 17:01

回复 2# xxpinqz


    刚试了一下,结果显示

   按了回车后,查看文件夹中重复的文本文档并没删除。

   不知是什么原因。

   帮忙再看看。多谢 。
作者: seichinaren    时间: 2016-8-8 17:03

回复 4# pcl_test


    多谢提醒。

    保留最新的更好。
作者: xxpinqz    时间: 2016-8-8 18:22

本帖最后由 pcl_test 于 2016-8-8 18:30 编辑

回复 5# seichinaren

简单看看,要是上面代码是把你盘全格式化了,你也运行吗?
http://www.bathome.net/thread-13798-1-1.html
http://bbs.bathome.net/thread-13860-1-1.html

保留最新的dir /b *_*.txt 改为dir /b *_*.txt^|sort /r
作者: seichinaren    时间: 2016-8-8 18:40

回复 7# xxpinqz


    非常感谢 ,

    大家都是有学识的人,所以没有想过你说的这种全盘格式化的风险。

    刚继续试了一下,其它都好,就是不能删除啊。
作者: pcl_test    时间: 2016-8-8 18:50

本帖最后由 pcl_test 于 2016-8-8 19:01 编辑

回复 8# seichinaren
就这一行代码测试下
  1. echo,看到什么?&>nul ping -n 3 0&echo /?&pause
复制代码

作者: seichinaren    时间: 2016-8-8 18:56

回复 9# pcl_test


    非常感谢

    试了一下

    CMD画面一闪而过,重复的文档岿然不动。
作者: pcl_test    时间: 2016-8-8 18:59

回复 10# seichinaren

嗯,还是你会玩……
作者: seichinaren    时间: 2016-8-8 19:04

回复 11# pcl_test


    呵呵,术业有专功,

    这个方面的知识,我一点都不懂。

   才求助于各位。
作者: pcl_test    时间: 2016-8-8 19:08

回复 12# seichinaren

还是一行
  1. help|findstr /i "del echo"&pause
复制代码

作者: WHY    时间: 2016-8-8 19:52

  1. PowerShell -c "dir *_*.txt | Group {($_.Name -Split '_')[0]} | ?{$_.Count-1} | del -Path {$_.Group[0..($_.Count-2)]}"
复制代码

作者: seichinaren    时间: 2016-8-9 10:01

回复 14# WHY


    非常感谢

    完全满足需求。




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