标题: [文件操作] 批处理如何确定缺少或多余的文件? [打印本页]
作者: hgx126 时间: 2011-12-17 00:19 标题: 批处理如何确定缺少或多余的文件?
每月我必须确认某个文件夹下必须是否有以下文件(因文件数量较多,仅列举部分):- 20111130-5411.txt
- 20111130-5415.txt
- 20111130-5416.txt
- 20111130-5417.txt
- 20111130-5418.txt
- 20111130-5419.txt
- 20111130-5420.txt
- 20111130-5421.txt
- 20111130-5422.txt
- 20111130-5424.txt
- 20111130-5425.txt
复制代码
在这个文件夹中,可能缺少一两个文件,如缺少20111130-5419.txt,20111130-5424.txt;也可能有多余的文件,如:20111130-5401.txt,20111130-5411.txt。现在以代码中的文件数量和名称为基础,将缺少的文件名称(20111130-5419.txt,20111130-5424.txt)输出(echo),将多余的文件(20111130-5401.txt,20111130-5411.txt)删除。
因文件较多,用肉眼一个个查看,很不文件,求用批处理处理。求大家帮忙。
作者: JooKin 时间: 2011-12-17 01:36
说的不明确,如果某文件夹下只有一个20111130-5417.txt和一堆*abcd*.txt,你说是属于缺少文件还是多余文件?
作者: wc726842270 时间: 2011-12-17 01:38
本帖最后由 wc726842270 于 2011-12-17 01:39 编辑
FINDSTR最直接的,仅是换一下顺序而以
作者: jellyhk 时间: 2011-12-17 11:15
你是说你那文件夹下的文件是常量?是固定不变的每天都是同样的文件?对吗?
然后就是看有多的没?有少的没?
作者: hgx126 时间: 2011-12-17 22:15
我的意思是这个文件内应该有这些文件,如果有缺少的,就输出到屏幕或文件;如果有多余的,就删除。
作者: wc726842270 时间: 2011-12-17 22:51
- @ECHO OFF
- :: 如果不区分大小写的话,别望了“/I”。这 里的.TXT是文件而非文件夹
- echo 下面显示的是多的文件
- findstr /v /g:标准文件.txt 现实文件.txt|sort
- pause>nul
- ECHO 下面显示的是少的文件
- findstr /v /g:现实文件.txt 标准文件.txt|sort
- pause>nul
复制代码
标准文件.txt
20111130-5411.txt
20111130-5415.txt
20111130-5416.txt
20111130-5417.txt
20111130-5418.txt
20111130-5419.txt
20111130-5420.txt
20111130-5421.txt
20111130-5422.txt
20111130-5424.txt
20111130-5425.txt
现实文件.txt
20111130-5411.txt
20111130-5415.txt
20111130-5416.txt
20111130-5417.txt
20111130-5418.txt
20111130-5419.txt
20111130-5420.txt
20111130-542923.txt
20111130-5425.txt
没有想的过多,如有问题,请提出(这里主要指文件名一类的是否特殊,不是删除或获取文件名)
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |