标题: [文件操作] 【已解决】求bat脚本清空文件夹,保留 desktop.ini 文件。谢谢 [打印本页]
作者: yyz219 时间: 2024-1-4 16:28 标题: 【已解决】求bat脚本清空文件夹,保留 desktop.ini 文件。谢谢
完美解决了:
- @echo off
- attrib -h D:\工具\* /S /D
- attrib -h D:\常用\* /S /D
- for %%d in ("D:\工具" "D:\常用") do (
- cd /d %%d
- for /f "delims=" %%i in ('dir /a /b /s ^| findstr /v /i /c:"desktop.ini"') do (
- if not "%%~nxi"=="desktop.ini" (
- if not "%%~fi"=="%%d\desktop.ini" (
- del /q "%%i"
- )
- )
- )
- for /d %%i in (*) do (
- if not "%%i"=="desktop.ini" (
- rd /s /q "%%i"
- )
- )
- )
复制代码
=======================
原来的问题:
需要清空文件夹的有:
D:\工具
D:\常用
==================
需要保留的文件有:
D:\工具\desktop.ini
D:\常用\desktop.ini
==================
这两个文件夹里面的其它文件,文件夹全部删除(包括里面的子文件夹————也删除)
谢谢
作者: qixiaobin0715 时间: 2024-1-4 16:44
本帖最后由 qixiaobin0715 于 2024-1-4 16:48 编辑
慎用。特别是rd命令:- @echo off
- cd /d "D:\工具\desktop.ini"
- 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:\常用\desktop.ini"
- 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"
复制代码
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 |