xugua 发表于 2023-7-16 19:42

删除指定文件夹中的空文件夹

本帖最后由 xugua 于 2023-9-20 10:44 编辑

因为一个文件夹里的文件很多重复的,用本论坛里的一个软件删除了重复的文件,但是留下很多空文件夹无法处理。
自己动手先编写个删除空文件夹的代码用用。

把代码复制到python中,自行修改目录,执行即可

'''
删除文件夹中的空文件夹
'''
import os

path = 'F:\Downloads\合集'         #指定要删除文件夹的根目录,根据需要自行修改。
dir_number = del_number = re_number= 0
tuples = os.walk(path)
print('删除的文件夹目录:')
for dirpath,dirnames,filenames in tuples:
    for dirname in dirnames:
      path_N = (os.path.join(dirpath,dirname))
      dir_number += 1
      try:                                          #异常处理,非空文件夹直接PASS
            os.rmdir(path_N)                  #执行删除文件夹命令
            print(path_N)
            del_number += 1
      except:
            re_number += 1
print(f'\n共搜索到文件夹个数为:{dir_number}个,删除空文件夹{del_number}个,剩余文件夹{re_number}个。')

zz1181 发表于 2023-7-16 21:35

谢谢分享,适合我这样的懒人党学习

鹿鸣 发表于 2023-7-16 22:08

感谢分享,还比较实用

fandazong 发表于 2023-7-16 23:44

大佬如何能够实现自动删除某个软件自动生成的文件夹和文件呢?文件夹名称是数字和字母随机的那种

tanzhilang 发表于 2023-7-17 00:39

多谢分享。。

nj2004 发表于 2023-7-17 05:45

多谢了!有用

Lrr35266046 发表于 2023-7-17 08:01

这怎么用呀!!!??

JackLei 发表于 2023-7-17 08:46

BAT命令,新建一个空白文本文档,复制进去,文档后缀改成.bat,就可以运行了
@echo off&title 清理空目录—by onedayday-wb
set/p Pan=请输入要清理文件夹,回车确认:
cls&echo 即将开始清理......&ping 0 -n "3">nul
cd /d %Pan%
for /f "delims=" %%a in ('dir /ad/s/b') do (
    dir /a-d/s/b "%%~a\*" >nul 2>nul
    if errorlevel 1 (
      title 正在清理空目录: “%%~a”,请等待......
      echo 空文件夹: “%%~a”为空,准备删除......
      rd /s/q "%%~a
      if exist "%%~a" (
            title 目录: “%%~a”被占用,无法删除。
            echo 文件夹被占用,无法删除。
            ping 0 -n "4">nul
      ) else (
            echo 空文件夹: “%%~a”已被清理。
            ping 0 -n "1">nul
      )
    )
)
set msg=%Pan% 文件夹下空文件夹清理完成。请按任意键退出。
title %msg%&echo %msg%
pause>nul
exit

JackLei 发表于 2023-7-17 08:51

fandazong 发表于 2023-7-16 23:44
大佬如何能够实现自动删除某个软件自动生成的文件夹和文件呢?文件夹名称是数字和字母随机的那种

用py或者vba都行,主要是你需要的数字字母这种正则表达式
^+$
这个是判断数字和字母的正则表达式

tl;dr 发表于 2023-7-17 09:16

页: [1] 2
查看完整版本: 删除指定文件夹中的空文件夹