无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3989|回复: 11
打印 上一主题 下一主题

[求助] 保留指定文件夹其余全删除

  [复制链接]
跳转到指定楼层
1#
发表于 2023-5-3 01:17:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在某一文件夹下有若干个文件夹,用批处理历遍该文件夹,保留指定的几个文件夹,其余全删除,命令怎么写,请大神写下该命令
2#
发表于 2023-5-3 03:12:31 | 只看该作者
  1. @echo off
  2. setlocal enableextensions

  3. set "FolderPath=C:\Path\To\Folder"
  4. set "KeepFolder1=Folder1"
  5. set "KeepFolder2=Folder2"
  6. set "KeepFolder3=Folder3"

  7. rem 遍历目标文件夹
  8. for /d %%f in (%FolderPath%\*) do (
  9.     rem 如果不属于保留文件夹,则删除该文件夹及其所有内容
  10.     if not "%%~nxf"=="%KeepFolder1%" if not "%%~nxf"=="%KeepFolder2%" if not "%%~nxf"=="%KeepFolder3%" (
  11.         echo Deleting folder "%%~f"...
  12.         rd /s /q "%%~f"
  13.     )
  14. )

  15. echo Done.
  16. pause
复制代码

点评

for /F %%i in (' Type "%~dp0Windows\Remove.TXT" 2^>nul') for /F "tokens=2 delims=: " %%a in ('dism /online /get-features ^| Findstr /I /C:"FeatureName : %%i"') do if "%%a" NEQ "" Call Dism /online /D  详情 回复 发表于 2023-5-6 18:33
谢谢 @echo off echo "使用脚本删除文件夹A中 除了特定文件意外的文件" echo. rem 进入文件夹A目录 cd A rem 对文件夹进行遍历,除保留文件夹1、2以外的文件夹进行删除 for /D %%i in ("C:\Windows\web\")  详情 回复 发表于 2023-5-3 11:32
回复

使用道具 举报

3#
发表于 2023-5-3 03:13:23 | 只看该作者
以【E:\123\】举个例,自己根据自己需要的实际目录修改及增加需保留的文件夹。
  1. @echo off
  2. cd /d E:\123


  3. ::删除[E:\123]文件夹内所有文件,除开子文件夹
  4. del /f/q E:\123


  5. :删除[E:\123]内除 AAA文件夹(及子文件夹) 外所有文件夹
  6. for /f "delims=" %%b in ('dir /b "E:\123"') do (
  7.    if "AAA" NEQ "%%b" (
  8.                 rd /s /q "E:\123\%%b")
  9. )


  10. ping -n 5 127.1>nul
  11. exit
复制代码

点评

谢谢,这类写法 @echo off echo "使用脚本删除文件夹A中 除了特定文件意外的文件" echo. rem 进入文件夹A目录 cd A rem 对文件夹进行遍历,除保留文件夹1、2以外的文件夹进行删除 for /D %%i in ("C:\Windo  详情 回复 发表于 2023-5-3 11:34
谢谢  详情 回复 发表于 2023-5-3 11:32
回复

使用道具 举报

4#
 楼主| 发表于 2023-5-3 11:32:22 | 只看该作者

谢谢
@echo off
echo "使用脚本删除文件夹A中 除了特定文件意外的文件"
echo.
rem 进入文件夹A目录
cd A
rem 对文件夹进行遍历,除保留文件夹1、2以外的文件夹进行删除

for /D %%i in ("C:\Windows\web\") DO (
        if not %%i==Screen (
                if not %%i==Wallpaper (
                        echo 删文件夹:%%i
                        rd /S /Q %%i
                ) else (
                        rem 对保留文件夹2中的内容进行特殊处理,如有需求
                )
        )
)这是网上找的那个地方有误
回复

使用道具 举报

5#
 楼主| 发表于 2023-5-3 11:32:54 | 只看该作者
fzp070 发表于 2023-5-3 03:13
以【E:\123\】举个例,自己根据自己需要的实际目录修改及增加需保留的文件夹。

谢谢
回复

使用道具 举报

6#
 楼主| 发表于 2023-5-3 11:34:27 | 只看该作者
fzp070 发表于 2023-5-3 03:13
以【E:\123\】举个例,自己根据自己需要的实际目录修改及增加需保留的文件夹。

谢谢,这类写法
@echo off
echo "使用脚本删除文件夹A中 除了特定文件意外的文件"
echo.
rem 进入文件夹A目录
cd A
rem 对文件夹进行遍历,除保留文件夹1、2以外的文件夹进行删除

for /D %%i in ("C:\Windows\web\") DO (
        if not %%i==Screen (
                if not %%i==Wallpaper (
                        echo 删文件夹:%%i
                        rd /S /Q %%i
                ) else (
                        rem 对保留文件夹2中的内容进行特殊处理,如有需求
                )
        )
)那个地方有误

点评

6楼的代码主要有两个地方要修改下: 一是For命令那行代码,要加个*号,"C:\Windows\web\*" 二是if那行代码,要么改成2楼的if not "%%~nxi"==Wallpaper,要么就if not %%i==%cd%\Wallpaper ( 如下几个方案应该都  详情 回复 发表于 2023-5-4 00:43
回复

使用道具 举报

7#
发表于 2023-5-4 00:43:37 | 只看该作者
本帖最后由 fzp070 于 2023-5-4 00:45 编辑
wenbieba 发表于 2023-5-3 11:34
谢谢,这类写法
@echo off
echo "使用脚本删除文件夹A中 除了特定文件意外的文件"

6楼的代码主要有两个地方要修改下:
一是For命令那行代码,要加个*号,"C:\Windows\web\*"
二是if那行代码,要么改成2楼的if not  "%%~nxi"==Wallpaper,要么就if not %%i==%cd%\Wallpaper (
如下几个方案应该都是可以的,但web目录是系统目录,可能会没有权限删除,修改下文件夹当前用户权限试试吧。
2楼方案根据6楼路径和排除文件夹的修改
  1. @echo off
  2. setlocal enableextensions

  3. set "FolderPath=C:\Windows\web"
  4. set "KeepFolder1=Screen"
  5. set "KeepFolder2=Wallpaper"
  6. set "KeepFolder3=Folder3"

  7. rem 遍历目标文件夹
  8. for /d %%f in (%FolderPath%\*) do (
  9.     rem 如果不属于保留文件夹,则删除该文件夹及其所有内容
  10.     if not "%%~nxf"=="%KeepFolder1%" if not "%%~nxf"=="%KeepFolder2%" if not "%%~nxf"=="%KeepFolder3%" (
  11.         echo Deleting folder "%%~f"...
  12.         rd /s /q "%%~f"
  13.     )
  14. )

  15. echo Done.
  16. pause
复制代码

3楼方案根据6楼路径和排除文件夹的修改
  1. @echo off
  2. cd /d C:\Windows\web\


  3. ::删除[C:\Windows\web\]文件夹内所有文件,除开子文件夹
  4. del /f/q C:\Windows\web\


  5. ::删除[C:\Windows\web\]内除 Screen和Wallpaper文件夹(及子文件夹) 外所有文件夹
  6. for /f "delims=" %%b in ('dir /b "C:\Windows\web"') do (
  7.        if "Screen" NEQ "%%b" (
  8.        if "Wallpaper" NEQ "%%b" (
  9.                 echo 删文件夹:%%b
  10.                 rd /s /q "C:\Windows\web\%%b")
  11. )
  12. )
  13. ping -n 5 127.1>nul
  14. exit
复制代码

修改后的6楼方案
  1. @echo off
  2. echo "使用脚本删除文件夹A中 除了特定文件意外的文件"
  3. echo.
  4. rem 进入文件夹web目录
  5. cd /d "C:\Windows\web"
  6. rem 对文件夹进行遍历,除保留文件夹1、2以外的文件夹进行删除

  7. for /D %%i in ("C:\Windows\web\*") DO (
  8.         if not %%i==%cd%\Screen (
  9.                 if not %%i==%cd%\Wallpaper (
  10.                         echo 删文件夹:%%i
  11.                         rd /S /Q %%i
  12.                 ) else (
  13.                         rem 对保留文件夹2中的内容进行特殊处理,如有需求
  14.                 )
  15.         )
  16. )
  17. pause
复制代码






点评

@Echo Off For /f "tokens=*" %%i in ('dir /a-d /b /s "C:\Program Files\IE文件夹"  "C:\Program Files(x86)\IE文件夹"') do (Ec  详情 回复 发表于 2023-5-5 00:19
辛苦大师, 再麻烦大师写一个厉遍C盘删除Internet Explorer文件的命令  详情 回复 发表于 2023-5-4 20:41
回复

使用道具 举报

8#
 楼主| 发表于 2023-5-4 20:41:01 | 只看该作者
fzp070 发表于 2023-5-4 00:43
6楼的代码主要有两个地方要修改下:
一是For命令那行代码,要加个*号,"C:\Windows\web\*"
二是if那行 ...

辛苦大师,
再麻烦大师写一个厉遍C盘删除Internet Explorer文件的命令
回复

使用道具 举报

9#
 楼主| 发表于 2023-5-5 00:19:58 | 只看该作者
fzp070 发表于 2023-5-4 00:43
6楼的代码主要有两个地方要修改下:
一是For命令那行代码,要加个*号,"C:\Windows\web\*"
二是if那行 ...

@Echo Off
For /f "tokens=*" %%i in ('dir /a-d /b /s "C:\Program Files\IE文件夹"  "C:\Program Files(x86)\IE文件夹"') do (Echo %%iDel /q /s /a /f "%%i")
回复

使用道具 举报

10#
 楼主| 发表于 2023-5-6 18:33:49 | 只看该作者

for /F %%i in (' Type "%~dp0Windows\Remove.TXT" 2^>nul')
for /F "tokens=2 delims=: " %%a in ('dism /online /get-features ^| Findstr /I /C:"FeatureName : %%i"') do if "%%a" NEQ "" Call Dism /online /Disable-Feature /FeatureName:%%a >nul
   )
运行之后无效果。麻烦大神指点
回复

使用道具 举报

11#
发表于 2023-5-6 19:19:50 | 只看该作者
学习学习谢谢
回复

使用道具 举报

12#
发表于 2023-6-1 18:37:38 | 只看该作者
本帖最后由 lsc202 于 2023-6-11 21:53 编辑

已解决




keeplist.txt

272 Bytes, 下载次数: 7, 下载积分: 无忧币 -2

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-8-8 22:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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