无忧启动论坛

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

作者: yyz2191958    时间: 2024-1-4 17:44
标题: 【已解决】求bat:清空文件夹,保留 desktop.ini 文件。谢谢
本帖最后由 yyz2191958 于 2024-1-4 19:40 编辑

完美解决了:
@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
==================
两个文件夹里面的其它文件,文件夹全部删除(包括里面的子文件夹————也删除)

谢谢




作者: sunskyfan    时间: 2024-1-4 18:49
rem  只删除文件,保留ini
@echo off
cd /d "D:\工具"
for /r %%i in (*) do (
    if "%%~nxi" neq "desktop.ini" (
        del "%%i"
    )
)
------------------------------------------------
rem  删除文件和文件夹,保留ini
@echo off
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"=="%CD%\desktop.ini" (
            del /q "%%i"
        )
    )
)
for /d %%i in (*) do (
    if not "%%i"=="desktop.ini" (
        rd /s /q "%%i"
    )
)
作者: sunskyfan    时间: 2024-1-4 18:53
本帖最后由 sunskyfan 于 2024-1-4 18:54 编辑

同时操作多个目录,删除文件和文件夹

@echo off
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"
        )
    )
)
作者: yyz2191958    时间: 2024-1-4 18:57
sunskyfan 发表于 2024-1-4 18:53
同时操作多个目录,删除文件和文件夹

@echo off

我试一试 谢谢
作者: yyz2191958    时间: 2024-1-4 19:00
sunskyfan 发表于 2024-1-4 18:53
同时操作多个目录,删除文件和文件夹

@echo off

成功了 再次感谢
作者: yyz2191958    时间: 2024-1-4 19:05
sunskyfan 发表于 2024-1-4 18:49
rem  只删除文件,保留ini
@echo off
cd /d "D:\工具"

谢谢 我试一试先
作者: yyz2191958    时间: 2024-1-4 19:13
sunskyfan 发表于 2024-1-4 18:53
同时操作多个目录,删除文件和文件夹

@echo off

里面有一个隐藏文件 和 一个隐藏文件夹————没有删除

能不能修改一下,把 隐藏文件 和 一个隐藏文件夹————也删除
作者: yyz2191958    时间: 2024-1-4 19:39
yyz2191958 发表于 2024-1-4 19:13
里面有一个隐藏文件 和 一个隐藏文件夹————没有删除

能不能修改一下,把 隐藏文件 和 一个隐藏文 ...

最前面——加下面两行就OK了:
attrib -h D:\工具\* /S /D
attrib -h D:\常用\* /S /D

作者: nathan6498    时间: 2024-1-4 20:15
谢谢分享
作者: TV123456789    时间: 2024-1-4 20:33
谢谢分享
作者: CQgaxm    时间: 2024-1-5 10:06
谢谢分享,学习学习
作者: 创新科技2015    时间: 2024-1-7 21:58

谢谢分享
作者: zxb415    时间: 2024-1-15 17:52
感谢楼主分享
作者: 无犹启动    时间: 2024-1-26 13:14
谢谢分享
作者: pda8888    时间: 2024-1-27 09:00
@echo off
ren "x:\xx\xx" "___xx___"
md "x:\xx\xx"
move "x:\xx\___xx___\desktop.ini" "x:\xx\xx"
rd /q /s "x:\xx\___xx___"
作者: yyz2191958    时间: 2024-1-27 09:05
pda8888 发表于 2024-1-27 09:00
@echo off
ren "x:\xx\xx" "___xx___"
md "x:\xx\xx"

谢谢




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3