河汉清且浅,牵牛敦而纯
随笔 - 76,  文章 - 0,  评论 - 1,  阅读 - 66853

批处理,删除含有关键字的文件及目录

转载  https://blog.csdn.net/weixin_34148508/article/details/94558767

@echo off
 
rem 如果是磁盘符,最好加上\符合
set DESC_PATH=D:\tx\WXSavePath\
 
rem 只需要部分字符
set file_str=rar
set folder_str=尤克里里
 
rem 控制开关
set search_file=0
set search_folder=1
set del_flag=1
 
rem 临时文件,备份记录用,不用修改
set file_log=file.log
set folder_log=folder.log
set workspace=%CD%
 
rem 只查找文件
if %search_file%==1 (
    cd /d %DESC_PATH%
    rem 搜寻子目录,排除文件夹
    dir /b /s /a-d | find "%file_str%" > %workspace%\%file_log%
)
 
rem 只查找目录
if %search_folder%==1 (
    cd /d %DESC_PATH%
    rem 目的:希望不统计文件在内
    dir /b /s /a-a | find "%folder_str%" > %workspace%\%folder_log%
)
 
rem 待考虑引入输入判断yes or no 决定是否删除,这样更人性
echo. && echo. && echo 符合条件的文件及目录已经记录到 %workspace%\%file_log% 和 %folder_log%, 点击查看。 ...
echo. && echo. && echo 回车键后将删除查找到的文件及目录 && pause>nul
 
rem 命令少了"delims="参数,将语句改一改:
rem for /f "delims=" %%i in ('dir /s/b/a *.doc') do copy "%%i" d:\wukgd
cd /d %workspace%
if %del_flag%==1 (
    if %search_file%==1 (
        for /f "delims=" %%i in (%workspace%\%file_log%) do  (
            if exist %%i del %%i
        )
    )
    if %search_folder%==1 (
        for /f "delims=" %%i in (%workspace%\%folder_log%) do  (
            if exist %%i rd /s /q "%%i"
        )
    )
)
 
cd /d %workspace%
echo. && echo. && echo 符合条件的文件及目录删除完毕 && pause>nul

  

posted on   伊索  阅读(608)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

点击右上角即可分享
微信分享提示