代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
C#
】
查询指定文件夹下的每个子文件夹占空间的大小
作者:
小松
/ 发布于
2016/6/7
/
1064
磁盘内存用掉太多,想查那些文件夹占的内存比较大,再找出没有用的文件去删除。
static void Main(string[] args) { while (true) { //指定文件夹下的每个子文件夹占空间的大小 Console.WriteLine("--------------------查询指定路径下所有的子文件夹占空间大小-------------------"); Console.WriteLine("请输入要查询的路径:"); string Path = Console.ReadLine(); Dictionary<string,long> dic = new Dictionary<string, long>(); //路径是否存在 if (!Directory.Exists(Path)) { Console.WriteLine("输入路径不存在,请输入正确的路径!"); Console.WriteLine(""); } else { //定义一个DirectoryInfo对象 DirectoryInfo di = new DirectoryInfo(Path); //通过GetFiles方法,获取di目录中的所有文件 foreach (FileInfo fi in di.GetFiles()) { //把信息加入到字典中 dic.Add(fi.FullName, fi.Length); } //获取di中所有的文件夹,并存到一个新的对象数组中 DirectoryInfo[] dis = di.GetDirectories(); if (dis.Length > 0) for (int i = 0; i < dis.Length; i++) { long length = GetDirectoryLength(dis[i].FullName); dic.Add(dis[i].FullName, length); } //linq写法,对Dictionary按value排序 var dicSort = from objDic in dic orderby objDic.Value descending select objDic; foreach (KeyValuePair<string,long> dic1 in dicSort) { //KB转为M 要/1024变K 再/1024变M Console.WriteLine(string.Format("{0}:{1}{2}", dic1.Key.ToString(), Math.Round(Convert.ToDouble(dic1.Value) / 1024 / 1024, 2),"M")); } } } } //指定文件夹占空间大小 public static long GetDirectoryLength(string dirPath) { //判断给定的路径是否存在,如果不存在则退出 if (!Directory.Exists(dirPath)) return 0; long len = 0; //定义一个DirectoryInfo对象 DirectoryInfo di = new DirectoryInfo(dirPath); //通过GetFiles方法,获取di目录中的所有文件的大小 foreach (FileInfo fi in di.GetFiles()) { len += fi.Length; } //获取di中所有的文件夹,并存到一个新的对象数组中,以进行递归 DirectoryInfo[] dis = di.GetDirectories(); if (dis.Length > 0) { for (int i = 0; i < dis.Length; i++) { len += GetDirectoryLength(dis[i].FullName); } } return len; }
试试其它关键字
同语言下
.
C#实现的html内容截取
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
.
实现对图片上传的接收
.
去除字符串中的空格,回车,换行符转变成‘;’在按‘
.
按照回车换行符分割字符串
.
文件MD5码 比较,检测文件是否一样
可能有用的
.
C#实现的html内容截取
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
.
实现对图片上传的接收
.
去除字符串中的空格,回车,换行符转变成‘;’在按‘
.
按照回车换行符分割字符串
.
文件MD5码 比较,检测文件是否一样
小松
贡献的其它代码
(
14
)
.
APP手机应用信息采集
.
去除字符串中的空格回车换行等符号
.
创建用户,并给这个用户授权
.
查看分区信息
.
文本显示 -- 换行处理
.
Python实现截屏的函数
.
时间戳转时间格式,时间格式转xx小时前
.
微信-JSSDK .NET版
.
iOS7和iOS6适配,和保留之前的坐标编码习惯,不用刻意
.
查询指定文件夹下的每个子文件夹占空间的大小
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3