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

[其他] 求删除下面这个文件夹里的东西的批处理的吗

一个新建文件夹里有很多不同后缀的文件,如: 新建 批处理文件.bat ,新建 Microsoft Word 文档.doc,新建 Microsoft PowerPoint 演示文稿.ppt,新建 注册表项.reg,新建 文本文档.txt,新建 Microsoft Excel 工作表.xls.....等等,我想写一段批处理代码,要删除这个文件夹里的所有不同格式的文件,但是要保留其中的1个或者1个以上的文件,比如,我要删除这个文件夹里的所有文件,但是要保留 新建 文本文档.txt,新建 Microsoft Excel 工作表.xls这两个文件,批处理该怎样写呢,请高手指点一下

  1. @echo off
  2. set "keep1=新建 文本文档.txt"
  3. set "keep2=新建 Microsoft Excel 工作表.xls"
  4. for %%a in (*) do (
  5.     if "%%a" neq "%0" (
  6.         if "%%a" neq "%keep1%" (
  7.             if "%%a" neq "%keep2%" (
  8.                 del /f /a /q "%%a"
  9.             )
  10.         )
  11.     )
  12. )
复制代码

TOP

回复 2# find


    O(∩_∩)O谢谢

TOP

回复 2# find


    不好意思哦,还是执行不了,我的这个文件夹的的名字叫 新建文件夹

TOP

回复 4# hfstar


什么是“执行不了”?

TOP

回复 5# find

是没有保留哪两个要保留的文件,是把这个  新建文件夹  和里面的全部文件保留了,而把这个文件夹外的所有文件删除了,我要的是删除这个 新建文件夹 里的所有文件但是要保留其中的两个

TOP

回复 6# hfstar


请把bat文件保存到“新建文件夹”里面

TOP

本帖最后由 hfstar 于 2012-1-10 14:22 编辑

回复 7# find

刚刚试过了,是我的批处理的名字的问题,要重命名一下才行,我想做一个放在其他位置删除这个文件夹里的所有文件只是保留其中两个文件的批处理,我想做了用来删除软件的多余的语言用,

TOP

回复 8# hfstar


把完整路径写入for命令即可
  1. @echo off
  2. set "keep1=新建 文本文档.txt"
  3. set "keep2=新建 Microsoft Excel 工作表.xls"
  4. for %%a in ("C:\test\新建文件夹\*.*") do (
  5.     if "%%a" neq "%0" (
  6.         if "%%a" neq "%keep1%" (
  7.             if "%%a" neq "%keep2%" (
  8.                 del /f /a /q "%%a"
  9.             )
  10.         )
  11.     )
  12. )
复制代码

TOP

回复 7# find


    我曾经用过 del /f /s /q ""   1>>被保留文件1  2>>被保留文件2 来做这个批处理,但是 被保留文件 会被修改啊

TOP

回复 9# find


    多谢啦,keep1=新建 文本文档.txt" 这里也是要完整的路径吧,还有,如果我不想把执行的这个批处理删除了,是不是去掉 if "%%a" neq "%0" (
这一行的代码就可以了,这个删除的批处理会不会修改被保留的文件呢

TOP

回复 11# hfstar
  1. @echo off
  2. set "keep1=新建 文本文档.txt"
  3. set "keep2=新建 Microsoft Excel 工作表.xls"
  4. for %%a in ("C:\test\新建文件夹\*.*") do (
  5.     if "%%~nxa" neq "%0" (
  6.         if "%%~nxa" neq "%keep1%" (
  7.             if "%%~nxa" neq "%keep2%" (
  8.                 del /f /a /q "%%a"
  9.             )
  10.         )
  11.     )
  12. )
复制代码
你自己试试不就知道会不会修改被保留的文件啦?

TOP

回复 12# find


    恩,谢谢,麻烦你了

TOP

回复 2# find


    如果要删除一个文件夹里面的所有文件和文件夹,但是又要保留一个文件夹及其此文件夹里面的文件的批处理该怎样写呢

TOP

回复 14# hfstar


你的需求到底是什么?
按这个写了之后,还会不会继续变?

TOP

返回列表