[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理如何删除某目录下除了指下的两个文件外的全部文件?

本帖最后由 wolfan 于 2011-7-26 17:12 编辑

-xxx
+a.txt
-filebox
++abc.exe

+b.txt
+e.exe
+d.ttf
+j.jpg
+g.gif

+号为文件,-号为目录
除了 a.txt 与 filebox及里面的abc.exe 不删除外其它多删除掉。
只用一条命令~
1

评分人数

    • tmplinshi: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 CrLf 于 2011-7-24 21:53 编辑
  1. del /s /a /q /f *.* 3>>a.txt 5>>filebox\abc.exe
复制代码
2

评分人数

TOP

回复 2# CrLf


好方法,向版主学习。

TOP

回复 2# CrLf


好方法,向版主学习。

TOP

回复 2# CrLf


    一开始我也没看懂,以为DEL句柄有什么特别这处,原来是拒绝访问,很强大也
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

CrLf 发表于 2011-7-23 19:34



    如果我File目录下有N个文件,那不是要写好多次~
还有,目录下有N个文件夹的情况DEL不是就没用了吗~

TOP

回复 6# wolfan


    多个文件可以启动外部命令占用嘛,理论上可以占用无数个文件,不过效率很低,而且不符合只用一条命令的要求(当然如果有人非要把 cmd /c 后跟一串命令参数说成是一条命令,我也没话说...)。要想用一条命令就只能用 wmic datafile 了,这我也不熟,还是等别人回答或者自行百度吧,记得找到了贴上来分享下~
  不过 wmic 的代码将十分冗长,而且有可能不够通用,这时候文件不是特别多的话建议用 for /f ... in ('dir /a /s /b^|findstr /vxlg:list.txt') do ...
   xcopy /l /exculde 虽然也可以按照列表筛选文件,但是它是通配匹配,而且不会单独显示符合条件的文件夹路径
  至于通过 attrib 进行文件、文件夹筛选,虽然可以,但是效率实在太低了。

  至于文件夹,我只是按楼主当初的要求给出最合适的解决方案,你怎么可能指望一个方案既简洁高效,又无所不能呢...

TOP

返回列表