dir /s /d 获取每个文件的大小

在Windows系统的命令提示符(CMD)中,要查看子文件夹下所有文件的大小,可以使用dir命令结合/s/b参数。/s参数用于列出所有子目录,包括空目录,而/b参数则用于以批处理模式输出,显示文件的大小等信息。
具体命令如下:

dir /s /b

这条命令会递归地列出当前目录及其所有子目录下的文件和文件夹,并显示文件的大小(以字节为单位)。如果需要以更易读的格式(如KB、MB、GB)显示文件大小,可以在命令中添加/h参数:

dir /s /b /h

请注意,这个命令不会对文件夹的大小进行汇总,而是显示每个文件的大小。如果需要查看文件夹的总体大小,CMD并没有直接的命令可以实现这一点,但可以通过其他方式,例如在资源管理器中右键点击文件夹,选择“属性”,在弹出的窗口中查看文件夹的大小。
对于更高级的文件大小查看需求,可以考虑使用第三方工具,例如TreeSize等,这些工具可以提供更详细的文件和文件夹大小信息,并能够以图形界面展示。

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用递归的方式遍历 `/tmp` 目录及其子目录下的所有文件文件夹,并使用 `stat` 系统调用获取文件大小,最终统计出每个文件夹大小每个文件大小,再找出占内存最大的文件夹文件。 以下是一个示例代码: ```c #include <stdio.h> #include <stdlib.h> #include <dirent.h> #include <sys/stat.h> #include <string.h> // 定义一个结构体用于存储文件夹大小和路径 struct FolderSize { long long size; char path[1024]; }; // 递归遍历目录 void traverse_dir(const char *dir_path, long long *total_size, struct FolderSize *max_folder) { DIR *dir = opendir(dir_path); if (dir == NULL) { perror("opendir"); return; } struct dirent *entry; struct stat st; long long folder_size = 0; while ((entry = readdir(dir)) != NULL) { // 构造文件路径 char path[1024]; snprintf(path, sizeof(path), "%s/%s", dir_path, entry->d_name); if (stat(path, &st) == -1) { perror("stat"); continue; } if (S_ISDIR(st.st_mode)) { // 如果是目录,则递归遍历 if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) { continue; } traverse_dir(path, &folder_size, max_folder); } else if (S_ISREG(st.st_mode)) { // 如果是普通文件,则累加文件大小 folder_size += st.st_size; *total_size += st.st_size; // 如果文件大小比当前最大文件夹还大,则更新最大文件夹信息 if (folder_size > max_folder->size) { max_folder->size = folder_size; strncpy(max_folder->path, dir_path, sizeof(max_folder->path)); } } } closedir(dir); printf("Folder %s size: %lld bytes\n", dir_path, folder_size); } int main() { long long total_size = 0; struct FolderSize max_folder = {0, ""}; traverse_dir("/tmp", &total_size, &max_folder); printf("Total size of /tmp and its subdirectories: %lld bytes\n", total_size); printf("Largest folder: %s (%lld bytes)\n", max_folder.path, max_folder.size); return 0; } ``` 注意,在程序中使用了 `strncpy` 函数来复制文件夹路径,以防止路径溢出问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值