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

[文件操作] 【已解决】求bat脚本清空文件夹,保留 desktop.ini 文件。谢谢

完美解决了:
  1. @echo off
  2. attrib -h D:\工具\* /S /D
  3. attrib -h D:\常用\* /S /D
  4. for %%d in ("D:\工具" "D:\常用") do (
  5.     cd /d %%d
  6.     for /f "delims=" %%i in ('dir /a /b /s ^| findstr /v /i /c:"desktop.ini"') do (
  7.         if not "%%~nxi"=="desktop.ini" (
  8.             if not "%%~fi"=="%%d\desktop.ini" (
  9.                 del /q "%%i"
  10.             )
  11.         )
  12.     )
  13.     for /d %%i in (*) do (
  14.         if not "%%i"=="desktop.ini" (
  15.             rd /s /q "%%i"
  16.         )
  17.     )
  18. )
复制代码
=======================
原来的问题:
需要清空文件夹的有:
D:\工具
D:\常用
==================
需要保留的文件有:
D:\工具\desktop.ini
D:\常用\desktop.ini

==================
两个文件夹里面的其它文件,文件夹全部删除(包括里面的子文件夹————也删除)

谢谢
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
我是小白,希望老师多多帮助

本帖最后由 qixiaobin0715 于 2024-1-4 16:48 编辑

慎用。特别是rd命令:
  1. @echo off
  2. cd /d "D:\工具\desktop.ini"
  3. for /f "delims=" %%i in ('dir /b /ad') do rd /s /q /f "%%i"
  4. for /f "delims=" %%i in ('dir /b /a-d^|findstr /v /x desktop.ini') do del "%%i"
  5. cd /d "D:\常用\desktop.ini"
  6. for /f "delims=" %%i in ('dir /b /ad') do rd /s /q /f "%%i"
  7. for /f "delims=" %%i in ('dir /b /a-d^|findstr /v /x desktop.ini') do del "%%i"
复制代码
D:\工具\
D:\常用\
这2个目录一定要存在,否则会清理批处理文件所在的目录,批处理文件也不要放在这2个目录中,否则会删除批处理文件本身。
1

评分人数

TOP

回复 2# qixiaobin0715


    我试一试先 谢谢
我是小白,希望老师多多帮助

TOP

回复 2# qixiaobin0715


    我放在:X:\Users\Default\Desktop\
结果删除了 X:\Users\Default\Desktop\ 的所有快捷方式
我是小白,希望老师多多帮助

TOP

我修改了一下也不行:
@echo off
cd /d "D:\工具\"
for /f "delims=" %%i in ('dir /b /ad') do rd /s /q /f "%%i"
for /f "delims=" %%i in ('dir /b /a-d^|findstr /v /x desktop.ini') do del "%%i"
cd /d "D:\常用\"
for /f "delims=" %%i in ('dir /b /ad') do rd /s /q /f "%%i"
for /f "delims=" %%i in ('dir /b /a-d^|findstr /v /x desktop.ini') do del "%%i"
我是小白,希望老师多多帮助

TOP

回复 5# yyz219


    这样,文件是删除了

但是,里面的子文件夹及里面的文件还在
我是小白,希望老师多多帮助

TOP

返回列表