Skip to content

About

DirScan - Windows 命令行大文件/旧文件扫描器(C# 单文件,无需安装 SDK)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DirScan — 大文件 / 旧文件扫描器

一个只读的 Windows 命令行工具:递归扫描目录,找出大文件或很久没修改的旧文件,帮助你决定哪些文件可以清理。

  • 纯 C#,单文件源码,用系统自带 csc.exe 编译,无需安装任何 SDK
  • 产出原生 dirscan.exe(约 20 KB),无外部依赖
  • 只读扫描,不会修改或删除任何文件
  • 支持按文件类型(扩展名)汇总统计、排除目录、限制扫描深度

重新编译

双击运行 build.cmd,或手动执行:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /nologo /target:exe /out:dirscan.exe Program.cs

(32 位 Windows 使用 C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe)

用法

dirscan [目录] [选项]
选项 说明
-t, --top N 只显示前 N 条结果(默认 20)
-m, --min-size SIZE 只显示不小于 SIZE 的文件,如 500KB、100MB、2GB
-o, --older-than N 只显示修改时间早于 N 天的文件
-s, --sort size|time size 从大到小(默认),time 从旧到新
--name PATTERN 文件名通配符,如 *.log、backup_?.zip
-d, --depth N 只扫描到第 N 层子目录(0=只扫根目录里的文件)
-x, --exclude PATTERN 排除匹配的目录(可多次使用),如 node_modules、*\temp
--summary 在结果后按扩展名统计文件数和总大小(只统计命中当前过滤条件的文件)
--csv FILE 把命中结果同时导出为 CSV(UTF-8 BOM,Excel 可直接打开)
-h, --help 显示帮助

示例

rem 找出 D 盘数据目录里超过 100MB 的最大 10 个文件
dirscan D:\data -m 100MB -t 10

rem 找出 90 天没动过的旧文件,最旧的排前面
dirscan D:\data -o 90 -s time

rem 只看日志文件,并导出 CSV
dirscan . --name *.log --csv result.csv

rem 排除 node_modules 和 temp 目录,只扫 3 层
dirscan D:\project -m 50MB --exclude node_modules --exclude *\temp -d 3

rem 按文件类型汇总,看看哪类文件最占空间
dirscan D:\data --summary

项目结构

dirscan/
├── Program.cs       # 全部源码(单文件)
├── build.cmd        # 一键重新编译
├── dirscan.exe      # 已编译好的程序
├── README.md
└── testdata/        # 测试用样例目录

设计说明

  • 手动递归遍历目录,逐目录 try/catch:遇到无权限目录自动跳过并计数,不会整个扫描失败
  • 自动跳过符号链接 / junction,避免目录循环
  • --exclude 支持目录名(如 logs)、相对路径(如 testdata\logs)或通配符(如 *\temp),可多次指定
  • --depth 按子目录层数计算:0 只看根目录里的文件,1 含第一层子目录,依此类推
  • --summary 统计的是命中当前过滤条件的文件,配合 -m、-o、--name 使用更灵活
  • 支持 --top=N 和 --top N 两种参数写法
  • 扫描是只读的;后续如需“移动到回收站/删除”,可以在此基础上加 --action 选项

About

DirScan - Windows 命令行大文件/旧文件扫描器(C# 单文件,无需安装 SDK)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages