找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27161|回复: 7

[文件操作] 【已解决】批处理如何删除除指定目录和文件外的所有文件(夹)?

[复制链接]
发表于 2013-6-15 09:23:57 | 显示全部楼层 |阅读模式
本帖最后由 quboboo 于 2013-6-18 14:59 编辑

比如想删除D盘所有文件,除了A、B、C三个目录和D.sys一个文件,应该怎么写呢?

没有黑框要用VBS?那该怎么写?

请大家帮忙,谢谢

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-6-15 20:06:44 | 显示全部楼层
本帖最后由 apang 于 2013-6-15 20:08 编辑
  1. @echo off
  2. pushd "d:"
  3. for /f "delims=" %%a in ('dir /b^|findstr /ivrbe "a b c d.sys"') do (
  4.     if exist "%%a" (echo rd /s /q "%%a")else echo del "%%a"
  5. )
  6. pause
复制代码
 楼主| 发表于 2013-6-15 23:13:01 | 显示全部楼层
本帖最后由 quboboo 于 2013-6-18 09:18 编辑

非常感谢,休息后上班再测试

今天上班来测试,发现可用但需要改进,状况如下:
使用楼上兄弟提供的代码,只显示删除命令,所以我把最后两个的“echo”删掉,测试时能删除文件和文件夹,但对于隐藏的文件(夹)无效。

另外,保留的文件(夹)名中有空格该怎么写?

请再指点下,不胜感激
 楼主| 发表于 2013-6-18 09:18:49 | 显示全部楼层
今天上班来测试,发现可用但需要改进,状况如下:
使用楼上兄弟提供的代码,只显示删除命令,所以我把最后两个的“echo”删掉,测试时能删除文件和文件夹,但对于隐藏的文件(夹)无效。

另外,保留的文件(夹)名中有空格该怎么写?

请再指点下,不胜感激
发表于 2013-6-18 09:58:19 | 显示全部楼层
修改下
  1. @echo off&setlocal enabledelayedexpansion
  2. pushd "d:"
  3. for %%i in ("d.sys" "x y" "a" "b" "c" "a b c.sys") do set v=!v! /c:%%i
  4. for /f "delims=" %%a in ('dir /b^|findstr /ixv%v%') do (
  5.     if exist "%%a" (echo rd /s /q "%%a")else echo del "%%a"
  6. )
  7. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2013-6-18 10:43:11 | 显示全部楼层
有些隐藏文件和文件夹用这种方法是没法删除的,比如hiberfil.sys、pagefile.sys 和 System Volume Information。改一下,未作测试
  1. @echo off
  2. set re="新建 文件夹" "a" "b" "c d.sys"
  3. pushd "D:"
  4. for /f "delims=" %%a in ('dir /a/b^|findstr/ixvc:%re:" "=" /c:"%') do (
  5.     if exist "%%a" (
  6.         echo rd /s /q "%%a" 2>nul
  7.     ) else echo del /a /f "%%a" 2>nul
  8. )
  9. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-6-18 14:58:42 | 显示全部楼层
回复 6# apang


    可以用,谢谢
发表于 2013-6-18 21:19:44 | 显示全部楼层
加echo 是防止错误,误删除别的文件。先看下命令确认一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 08:52 , Processed in 0.030074 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表