Board logo

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

作者: yyz219    时间: 2024-1-4 16:28     标题: 【已解决】求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

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

谢谢
作者: qixiaobin0715    时间: 2024-1-4 16:44

本帖最后由 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个目录中,否则会删除批处理文件本身。
作者: yyz219    时间: 2024-1-4 16:55

回复 2# qixiaobin0715


    我试一试先 谢谢
作者: yyz219    时间: 2024-1-4 17:02

回复 2# qixiaobin0715


    我放在:X:\Users\Default\Desktop\
结果删除了 X:\Users\Default\Desktop\ 的所有快捷方式
作者: yyz219    时间: 2024-1-4 17:11

我修改了一下也不行:
@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"
作者: yyz219    时间: 2024-1-4 17:25

回复 5# yyz219


    这样,文件是删除了

但是,里面的子文件夹及里面的文件还在




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2